变量命名规则是为了增强代码的可读性和容易维护性。以下为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. js将文字转化为语音并播放

    js将页面中的某些文字信息转化为语音并自动播放 <!DOCTYPE html><html lang="en"><head> <meta c ...

  2. web.config中的ExtensionlessUrlHandler-Integrated-4.0

    对于像MVC这种比较特殊的URL,例如 www.store.com/books/GetById/2 因为没有文件后缀名,IIS通常会无法解析,返回403或者404错误.ASP.NET v4.0增加了新 ...

  3. 获取SQL server 中的表和说明

    SELECT 表名 = case when a.colorder = 1 then d.name                    else '' end,        表说明 = case w ...

  4. 小甲鱼Python第六讲课后习题

    python中被看作假:FALSE  none 0  ‘ ’  " "  ( ) [ ] { },其他一切都被解释为真 0.Python 的 floor 除法现在使用“//”实现, ...

  5. linux操作之逻辑分区与交换分区篇

    作业一: 1)   开启Linux系统前添加一块大小为15G的SCSI硬盘 2)   开启系统,右击桌面,打开终端 3)   为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划 ...

  6. poj2456 Aggressive cows(二分查找)

    https://vjudge.net/problem/POJ-2456 二分,从最大长度开始,不断折半试,如果牛全放下了,就是可行,修改下界,否则改上届. #include<iostream&g ...

  7. MUI学习04-开关按钮

    HTML代码如下: <div class="mui-switch"> <div class="mui-switch-handle">&l ...

  8. 【转】java日志组件介绍(common-logging,log4j,slf4j,logback )

    common-logging common-logging是apache提供的一个通用的日志接口.用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, comm ...

  9. Python3 与 C# 网络编程之~ 网络基础篇

    最新版本查看:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入门篇 官方文档:https://docs.python.org/3/library ...

  10. 国际化之Android设备支持的语种

    昨天发了关于iOS支持的语种,文章最后也补了安卓支持语种列表.但最后发现安卓设备支持跟它列的有出入,我重新完全手工整理了一遍. 我将对应的语种在安卓的语言列表里的显示,也全部逐一列出来了,方便大家到时 ...