C_C++变量命名规则
变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:
- 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。
- 第一个字母必须是字母或者下划线开头。
- 不能使用C++关键字来命名变量,以免冲突。
- 变量名区分大小写。
变量命名规则:
一.用最短字符表示最准确的意义。
二.使用变量前缀。
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++变量命名规则的更多相关文章
- CPP-基础:C_C++变量命名规则
C_C++变量命名规则 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 1. 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 2. 第一 ...
- ZT C/C++变量命名规则,个人习惯总结
C/C++变量命名规则,个人习惯总结 (2012-10-31 13:48:10) 转载▼ 标签: c/c变量命名规则 c语言变量命名 c变量命名 规则规范 it 分类: C/VC C_C++变量命名规 ...
- C/C++变量命名规则,个人习惯总结【转载】
C_C++变量命名规则 原文地址:http://blog.sina.com.cn/s/blog_8a7012cf01017h9p.html 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++ ...
- C++变量命名规则
转自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/25/1834301.html 浅谈C++变量命名规则 不知道别的公司如何,反正我现在的公 ...
- Java学习笔记(基本数据类型和变量命名规则)
java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...
- C/C++变量命名规则
变量命名规则是为了增强代码的可读性和easy维护性. 变量命名规则: 一.用最短字符表示最准确的意义. 二.使用变量前缀. 1. 整型前缀 int nId; ...
- 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则
小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...
- JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符
JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- google 变量命名规则简要记录
1.文件命名规则 好的文件名命名可以很清晰的看出这个文件将要承载的内容,Google给出的规则为:文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来, 例如:cmd_save ...
随机推荐
- Android Studio 修改主题和字体
打开设置 或 修改主题 修改字体 参考资料 Android Studio主题以及字体修改
- sqlmap简单使用
就以实验吧上那个简单的sql注入题为例吧,不过那道题确实经典,把sqlmap的整个使用过程都展现了一遍,先奉上那道题的地址:http://ctf5.shiyanbar.com/web/index_3. ...
- sencha touch 选择器
1 DOM元素选择器 Ext.DomQuery操作标准DOM元素 Ext.query(selector, [root]) : HTMLElement[] // 调用Ext.dom.Query.sele ...
- JQ02
JQ02 1.css操作 .css(属性名,属性值)://要有双引号 修改单个样式,若要修改多个,需采用以下方式: 以对象为参数 它还可以获取样式: .css("属性名") 若元素 ...
- JSP解决:Attempt to clear a buffer that's already been flushed错误(jsp:forward标签跳转空白)
[摘要:本日正在开辟过程当中发明一个题目:正在页里中应用了jsp:forward扔错Attempt to clear a buffer that's already been flushed!! 百思 ...
- .net core中的对象池
asp.net core中通过扩展库的方式提供给了一个标准的对象池ObjectPool,定义在Microsoft.Extensions.ObjectPool.dll 程序集中.它本身是个纯虚的抽象类, ...
- Unity的RuntimeInitializeOnLoadMethod属性初探
Unity 5.0开始增加了RuntimeInitializeOnLoadMethodAttribute,这样就很方便在游戏初始化之前做一些额外的初始化工作,比如:Bulgy参数设置.SDK初始等工作 ...
- 开发入门,学Java还是学大数据?
经常有人问,我想学习开发,到底是学Java好还是学大数据好?或者是,学习大数据还有必要学Java吗? 依我说,这个提问的标准答案是:两者都学. 先来甩两张图. 一张是腾讯 ...
- strncpy, strncpy_s
Defined in header <string.h> (1) char *strncpy( char *dest, const char *src, size_t co ...
- SSE图像算法优化系列七:基于SSE实现的极速的矩形核腐蚀和膨胀(最大值和最小值)算法。
因未测试其他作者的算法时间和效率,本文不敢自称是最快的,但是速度也可以肯定说是相当快的,在一台I5机器上占用单核的资源处理 3000 * 2000的灰度数据用时约 20ms,并且算法和核心的大小是无关 ...