1. 使用括号确定表达式的操作优先权, 避免使用默认优先级.
2. 表达式不宜太长, 太复杂. 否则可以考虑拆开为多个独立语句.
3. 表达式不宜有太多用途.
4. 不要把布尔变量与TRUE/FALSE或者0/1直接比较, 注意bool和BOOL(对应的是int)的区别.
5. 不要把 float 和任何数字进行 == != 比较.
6. 比较语句中, 通常把常量放在 == 前, 防止误写错
7. switch 等分支语句记得最后加入 default分支.
8. 使用goto语句需要再三确认.
9. 用sizeof()获取数据类型的字节数
a. 尽量使用C++标准进行类型强制转换.
即 int iNum = static_cast(cNum);
C* pc = dynamic_cast(pd);
const D*pd= new D; D* pd2 = const_cast(pd);
reinterpret_case 可进行任意类型的指针类型转换, 但不保证安全性.
b. 指针变量尽量用 == != 与 NULL比较. 因为 if (pc) {} 容易被误认为pc是bool变量.
c. 整型变量尽量用 == != 与 0 比较.
d. case语句 不要使用 return 语句.
e. VC中 #pragma warning(error:4706) 禁止在表达式中使用赋值语句.
阅读(1094) | 评论(0) | 转发(0) |