以下是引用未来大仙在2016-5-9 08:02:38的发言:
还有这要求?
严谨点可以这样说。
1、布尔变量与零值比较,不可将布尔变量直接与 true、false 或者 1、0 进行比较。
假设:
bool flag;
标准 if 语句:
if (flag)
// 表示flag为真
if (!flag) // 表示flag为假
不良风格:
if (flag == true)
if (flag == 1 )
if (flag == false)
if (flag == 0)
2、整型变量与零值比较,应当将整型变量用“==”或“!=”直接与 0 比较。
假设:
int value;
标准 if 语句:
if (value == 0)
if (value != 0)
不良风格:
if (value)
// 会让人误解value是布尔变量
if (!value)
还有:
浮点变量与零值比较,不可将浮点变量用“==”或“!=”与任何数字比较。
指针变量与零值比较,应当将指针变量用“==”或“!=”与 NULL 比较。