C++代码风格
具体的代码风格每个人都有不一样的理解,这里只放一些约定俗成的之类的东西
命名
不加前缀时:
eg.
1 2
| int whatTheFuck; int WhatTheHell();
|
加前缀用匈牙利式:
eg.
前缀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| 1.整型的前缀 short sValue; int iAge; unsigned int uiAge; long lValue;
2.浮点型的前缀 float fScore; double dValue;
3.字符型的前缀 char cChar; TCHAR tcChar;
4.字符串的前缀 char szName[30];
5.布尔型的前缀 bool bPass;
6.指针型的前缀 int *pValue;
7.数组的前缀 int arrNum[10];
8.枚举变量的前缀 enum emWeek;
9.结构变量的前缀 T_NODE tNode;
10.字符指针的前缀 LPCTSTR ptszInfo;
11.STL容器类型前缀 vector<int> vecValue;
|
缩写
牛津英语缩写
韦氏词典中的缩写
注释
块注释
/* */
不能嵌套
下面的有争议
using namespace std
STD里东西太多,用using namespace std
有一定风险,可能会导致命名冲突,如STD里有search()
函数。
可以通过把STD要用的东西分别写出来的方法,显式声明降低风险
eg.
1 2 3 4 5 6 7 8 9 10 11 12
| using std::cin; using std::cout; using std::ios_base; using std::max; using std::memset; using std::min; using std::sort; using std::sqrt; using std::string; using std::vector; using std::endl; ...
|
复合类型声明
*
修饰的是p不是int
上面的语句里只有p1是指针p2不是
两种写法
int *p1;
强调p1是指针
int* p2;
强调本次声明是复合类型声明