变量命名规则是为了增强代码的可读性和容易维护性。以下为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. HTTP1.1协议-RFC2616-中文版课前资料收集

    1.http rfc大致讲了什么? 2.解决了什么问题? HTTP协议描述的是发送方与接收方的通信协议 协议功能: HTTP协议(HyperText Transfer Protocol,超文本传输协议 ...

  2. JS_高程5.引用类型(2)Array类型

    Array类型: ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的. 创建数组的基本方式: (1)使用Array构造函数 var color=new Array(); ...

  3. angular学习笔记(3)- MVC

    angular1学习笔记(3)- MVC --- MVC终极目标 - 模块化和复用 AngularJs的MVC是借助于$scope实现的!!! 神奇的$scope: 1.$scope是一个POJO(P ...

  4. 转 ef中使用mysql步骤--Entity Framework 6 with MySql

    原文:http://lvasquez.github.io/2014/11/18/EntityFramework-MySql/ For the Entity Framework 6 support we ...

  5. ubuntu17.04 调试系统工具bcc,systamtap安装

    发行版 ubuntu17.04 cat lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=17.04 DISTRIB_CODENAME=zesty DISTR ...

  6. FakeUserAgentError('Maximum amount of retries reached') 彻底解决办法

    报错: FakeUserAgentError('Maximum amount of retries reached') 禁用服务器缓存: ua = UserAgent(use_cache_server ...

  7. Exchange - Add Owner of Distribution Group

    User Interface: Open Exchange Management Console. Expand Microsoft Exchange On-Premises, then right ...

  8. jvm系列

    一.jvm理论 1.1.jvm理论-总述 1.2.jvm理论-class文件 1.2.1.jvm理论-常量池-string 1.2.2.jvm理论-常量池-8种基本类型 1.3.jvm理论-字节码指令 ...

  9. WIN10系统提示无法使用内置管理员账户打开XXX应用程序怎么办

    重装了系统之后,只保留Administrator账户,结果打开程序的时候回弹出这个提示   运行,输入secpol.msc   本地策略-安全选项,启用下面这个,然后重启计算机      

  10. [Python设计模式] 第26章 千人千面,内在共享——享元模式

    github地址:https://github.com/cheesezh/python_design_patterns 背景 有6个客户想做产品展示网站,其中3个想做成天猫商城那样的"电商风 ...