变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:

  1. 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
  2. 第一个字母必须是字母或者下划线开头。
  3. 不能使用C++关键字来命名变量,以免冲突。
  4.  变量名区分大小写。

变量命名规则:

一.用最短字符表示最准确的意义。

二.使用变量前缀。

1.整型前缀
  int nId;   
          //int前缀:n
  short sId;           //short前缀:s
  unsigned int unId      // unsigned int 前缀:un
  long lId;          //long前缀:l  

2.浮点型前缀
  float fValue;       //float前缀:f
  double dValue;       //double前缀:d

3.字符型前缀
  char chChar;      //char前缀:ch

4.字符串前缀
  char szPath;        //char字符串前缀:sz
  string strPath;       //string字符串前缀:str
  CString strPath;      //MFC CString类前缀:str

5.布尔型前缀
  bool bIsOK;     
   //bool类型前缀:b
  BOOL bIsOK;         //MFC BOOL前缀:b


指针型前缀
  char* pPath;   
    //指针前缀:p

7.数组前缀
  int arrnNum[];        //数组前缀:arr
  CString arrstrName[];   //数组前缀+类型前缀+名称

8.结构体前缀
  STUDENT tXiaoZhang;   //结构体前缀:t

9.枚举前缀
  enum emWeek;         //枚举前缀:em

10.字节的前缀
  BYTE byIP;        //字节前缀:by

11.字的前缀
  DWORD dwMsgID;     //双字前缀:dw
  WORD wMsgID;        //单字前缀:w

12.字符指针前缀
  LPCTSTR ptszName;     //TCHAR类型为ptsz
  LPCSTR pszName;        //pcsz
  LPSTR pszName;      //psz

13.STL容器前缀
  vector vecValue;     //vector容器前缀:vec

14.RECT矩形结构前缀
  RECT rcChild;      //rc
  CRECT rcChild;      //rc

15.句柄前缀
  HWND hWndDlg;      //h
  HBRUSH hBr;       //h
  HPEN hPen;        //h
  HBITMAP hBmpBack;   //h

16.Windows颜色前缀
  COLORREF crFont;     //cr

17.Windows DC前缀
  CDC dcClient;      //dc

18.STL

  说明:vec表示vector容器的前缀,为了简化变量,变量体后面不再使用前缀

  vector<int> vecValue;

  list<double> lstInfo;

三.类的成员变量以m_开头,后面为变量,变量同时还要加前缀。

  CString m_strName;    //m_开头+类型前缀+名称

四.定义一个变量,为了简化,在不影响变量意义的情况下,可仅仅使用前缀。

  RECT  rc;

五.全局变量一律以g_开头,后面为变量,变量同时还要加前缀。

  int g_ID;                  //g

六.定义结构体,保证C和C++兼容,采用typedef语句,并且结构体类型全部大写,以T_开头,指针形式以PT_开头。

  typedef struct tag TSTUDENT
  {
    int nId;
    CString strName;
  }STUDENT, *PSTUDENT;
  STUDENT tXiaoZhang;      //完整定义结构体

七.变量由多个单词组成,则每个单词的首个字母大写。
  int nStudentID;
  CString strStudentName;

八.定义一个类以C或者T做为类名前缀。

  class CMyListCtrl;
  class TMyListCtrl;

九.MFC控件绑定值类别或者控件类类别,需要以m_开头并且加前缀。

  CEdit m_EDT_strValue;     //Edit绑定控件类别
  CListBox m_LB_nName;      //ListBox
  CListCtrl m_LC_Name;      //ListCtrl;
  CComboBox m_CB_Name;     //ComboBox

十.控件ID尽量简化并表明控件类型和意义。
  Button IDC_BNT_NAME;
  Edit IDC_EDT_NAME;
  ListBox IDC_LB_NAME;
  ListCtrl IDC_LC_NAME;
  ComboBox IDC_CB_NAME;

C_C++变量命名规则的更多相关文章

  1. CPP-基础:C_C++变量命名规则

    C_C++变量命名规则 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 1. 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 2. 第一 ...

  2. ZT C/C++变量命名规则,个人习惯总结

    C/C++变量命名规则,个人习惯总结 (2012-10-31 13:48:10) 转载▼ 标签: c/c变量命名规则 c语言变量命名 c变量命名 规则规范 it 分类: C/VC C_C++变量命名规 ...

  3. C/C++变量命名规则,个人习惯总结【转载】

    C_C++变量命名规则 原文地址:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++ ...

  4. C++变量命名规则

    转自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/25/1834301.html 浅谈C++变量命名规则 不知道别的公司如何,反正我现在的公 ...

  5. Java学习笔记(基本数据类型和变量命名规则)

    java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...

  6. C/C++变量命名规则

    变量命名规则是为了增强代码的可读性和easy维护性. 变量命名规则: 一.用最短字符表示最准确的意义. 二.使用变量前缀. 1.  整型前缀 int               nId;        ...

  7. 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则

    小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...

  8. JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符

    JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  9. google 变量命名规则简要记录

    1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...

随机推荐

  1. 设置字体格式,加粗,regular,light

    设置文字大小和字体的途径有两个: 第一种,直接使用xib设置   ,   ,  第二种,使用代码 Label.font = [UIFont fontWithName:.f];//加粗 Label.fo ...

  2. 3ds max学习笔记(九)-- 实例操作(路径阵列)

    栅栏 路径阵列也叫间隔工具,将选择的物体沿指定的路径进行复制.实现物体在路径上的饿均匀分布. 选择需要分布的物体对象,在视图中绘制二维图形做为路径线条. 1.选择线条,制作路径 2.选择需要分布的物体 ...

  3. Django REST framework 中的序列化器

    在此之前定义一个序列化工具:     views中的的代码 from rest_framework.viewsets import ModelViewSet from .models import B ...

  4. 几个例子弄懂JS 的setTimeout的运行方式

                        function test() {   var a = 1;   setTimeout(function() {     alert(a);     a = 5 ...

  5. lettcode笔记--Valid Parentheses

    20.Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...

  6. 实验楼-Git实战教程

    实验1-git介绍 1.版本控制系统: 1)集中式版本控制系统:版本库是集中存放在中央服务器的,工作时需要先从中央服务器取得最新的版本,然后工作完成后把自己的修订推送给中央服务器.这类系统都有一个单一 ...

  7. H3C505

    H3C505 1.立方体案例 2.3D变换 1)景深透视 prospective:xx px; 设置观察元素的距离,数值小时,在元素内进行观察 prospective-origin: xpx,xpx ...

  8. [asp.net core]The requested page cannot be accessed because the related configuration data for the page is invalid.

    bug HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the rela ...

  9. socket.io的websocket示例

    写了一个简单的demo,直接上代码吧.用的时候注意一下版本号,可能 socket.io 的 API 有修改~ 效果图 index.html <!DOCTYPE <!DOCTYPE html ...

  10. PHP中new static()与new self()的区别异同分析

    本文实例讲述了PHP中new static()与new self()的区别异同,相信对于大家学习PHP程序设计能够带来一定的帮助. 问题的起因是本地搭建一个站.发现用PHP 5.2 搭建不起来,站PH ...