布尔变量与零值比较
bool flag;
//优良风格
if(flag)
if(!flag)
//不良风格
if(flag == true)
if(flag == 1)
if(flag == false)
if(flag == 0)
整形与零值的比较
int flag;
//优良风格
if(flag == 0)
if(flag != 0)
//不良风格 会让人误以为 flag是bool变量
if(flag)
if(!flag)
浮点数与零值的比较
不能用浮点变量用 “==”或“!=”与任何数字进行比较,float和double变量都有精度限制,尽量转化为“>=”或“<=”来比较。
float x;
//错误比较方式
if(x == 0.0)
//正确的比较方式
if((x >= EPSINON) && (x <= EPSINON))
EPSINON是允许精度差
指针变量与零值比较
指针变量用“==”或“!=”比较。
//良好风格
if(p == NULL)
if(p != NULL)
//不良风格
if(p == 0)
if(p != 0)
if(p)
if(!p)
补充
if(NULL == p),这样写是因为如果 不小心写成if(NULL = p),会直接报错。