1、静态成员未初始化
2、赋值运算符(operator=)未给所有的变量赋值
3、头文件中包含变量的定义
4、构造函数内变量初始化顺序与声明的顺序不一致
5、使用幻数
即:使用数字前用一个用一个变量去代替纯数字,使其可以表达数字的含义。
例如:(1)int a [ 5]; ( 2 ) int module_size = 5; int a [ module_size ] ;
6、命名空间嵌套层次超过两层。
7、使用外观相似的标识符。例如ao与a0,al与a1。
8、变量应间可能在小的范围内声明,改善程序的可读性,此外,如果变量在声明时就被初始化,其执行效率比在使用时才赋值更加高效
9、常量后缀使用小写字母。例:const long a=64l;因该为 const long a =64L;
10、自增++/自减--运算符与变量间有空格。
11、直接比较浮点数是否相等。
计算机中浮点数的存储是非精确存储的,不能直接使用==之类的比较夫直接比较。解决措施:比较a与b —— fabs(a-b) < 1.0E - 10
12、signed char 与 unsigned char 只能用来存储和使用数字型的值。例如 unsigned char a = 'A' //错误
13、 调用函数返回值之前,先判断
14、 内联函数inline函数体内含有局部静态变量。
原因:内联函数编译时直接被插入至代码调用处,多次调用内联函数将导致静态变量含有多个副本