
变量命名
-
2023年3月4日发(作者:心脏泵血功能)c++命名规则
变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:
变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
第⼀个字母必须是字母或者下划线开头。
不能使⽤C++关键字来命名变量,以免冲突。
变量名区分⼤⼩写。
变量命名规则:
⼀.⽤最短字符表⽰最准确的意义。
⼆.使⽤变量前缀。
1.整型前缀
intnId; //int前缀:n
shortsId; //short前缀:s
unsignedintunId //unsignedint前缀:un
longlId; //long前缀:l
2.浮点型前缀
floatfValue; //float前缀:f
doubledValue; //double前缀:d
3.字符型前缀
charchChar; //char前缀:ch
4.字符串前缀
charszPath; //char字符串前缀:sz
stringstrPath; //string字符串前缀:str
CStringstrPath; //MFCCString类前缀:str
5.布尔型前缀
boolbIsOK; //bool类型前缀:b
BOOLbIsOK; //MFCBOOL前缀:b
6、指针型前缀
char*pPath; //指针前缀:p
7.数组前缀
intarrnNum[]; //数组前缀:arr
CStringarrstrName[]; //数组前缀+类型前缀+名称
8.结构体前缀
STUDENTtXiaoZhang;//结构体前缀:t
9.枚举前缀
enumemWeek; //枚举前缀:em
10.字节的前缀
BYTEbyIP; //字节前缀:by
11.字的前缀
DWORDdwMsgID; //双字前缀:dw
WORDwMsgID; //单字前缀:w
12.字符指针前缀
LPCTSTRptszName;//TCHAR类型为ptsz
LPCSTRpszName;//pcsz
LPSTRpszName; //psz
容器前缀
vectorvecValue; //vector容器前缀:vec
矩形结构前缀
RECTrcChild; //rc
CRECTrcChild; //rc
15.句柄前缀
HWNDhWndDlg; //h
HBRUSHhBr; //h
HPENhPen; //h
HBITMAPhBmpBack;//h
s颜⾊前缀
COLORREFcrFont;//cr
sDC前缀
CDCdcClient; //dc
说明:vec表⽰vector容器的前缀,为了简化变量,变量体后⾯不再使⽤前缀
vectorvecValue;
listlstInfo;
三.类的成员变量以m_开头,后⾯为变量,变量同时还要加前缀。
CStringm_strName;//m_开头+类型前缀+名称
四.定义⼀个变量,为了简化,在不影响变量意义的情况下,可仅仅使⽤前缀。
RECTrc;
五.全局变量⼀律以g_开头,后⾯为变量,变量同时还要加前缀。
intg_ID;//g
六.定义结构体,保证C和C++兼容,采⽤typedef语句,并且结构体类型全部⼤写,以T_开头,指针形式以PT_开头。
typedefstructtagTSTUDENT
{
intnId;
CStringstrName;
}STUDENT,*PSTUDENT;
STUDENTtXiaoZhang; //完整定义结构体
七.变量由多个单词组成,则每个单词的⾸个字母⼤写。
intnStudentID;
CStringstrStudentName;
⼋.定义⼀个类以C或者T做为类名前缀。
classCMyListCtrl;
classTMyListCtrl;
九.MFC控件绑定值类别或者控件类类别,需要以m_开头并且加前缀。
CEditm_EDT_strValue; //Edit绑定控件类别
CListBoxm_LB_nName; //ListBox
CListCtrlm_LC_Name; //ListCtrl;
CComboBoxm_CB_Name; //ComboBox
⼗.控件ID尽量简化并表明控件类型和意义。
ButtonIDC_BNT_NAME;
EditIDC_EDT_NAME;
ListBoxIDC_LB_NAME;
ListCtrlIDC_LC_NAME;
ComboBoxIDC_CB_NAME;