BOOL,指针,int作为判断条件,在代码中的实现

来源:互联网 发布:淘宝商盟 编辑:程序博客网 时间:2024/06/05 06:40

一、BOOL与0值得比较

规则:不可将BOOL型变量直接与TRUE,FALSE,1,0比较。

根据BOOL型变量的定义,零值为假(记为FALSE),非零值都为真。

假设BOOL型变量名为flag,它与零值比较的标准If语句为:if(flag)//表示flag为真,if(!flag)//表示flag为假

其他的都属于不良风格:

if(flag == TRUE)

if(flag == FALSE)

if(flag == 0)

if(flag == 1)

二,int 与0值比较

规则:应当将整型变量用==或者!=直接与0比较

假设整型变量的名字是value,与0值比较的标准if 语句是if(valye == 0)或者if(value != 0)

不可模仿BOOL型变量写成如下形式:

if(value)或者if(!value)这样会让别人以为是BOOL类型的变量

三、浮点变量与0值的比较:

无论是float还是double类型的变量它都有精度限制,所以一定要避免将浮点变量与数值进行比较,一定得转化为>=

或者<=形式进行比较。

假设浮点的变量是x,那么if(x == 0.0)应该转化为if((x >= -EPSINON) && (x<= EPSINON)),其中EPSINON是实现规定的精度。

四、指针变量与0值的比较;

假设指针变量为p

虽然指针空(NULL)值是0,但是与0的意义是不一样的。它与0值比较的标准if语句如下:

if(p == NULL)

if(p != NULL)

不能写成:

if(p == 0)或者if(p != 0)这会让人误以为是整型变量

if(p)或者if(!p)这会让人误以为BOOL类型变量;



原创粉丝点击