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) 禁止在表达式中使用赋值语句. 09-02 23:29