//从一个写C++的文章哪里看来的,为什么别人这么说呢?
BOOL flag;
…
if(flag) { // do something } // 正确的用法
if(flag==TRUE) { // do something } // 危险的用法
if(flag==1) { // do something } // 危险的用法
if(!flag) { // do something } // 正确的用法
if(flag==FALSE) { // do something } // 不合理的用法
if(flag==0) { // do something } // 不合理的用法
------解决思路----------------------
1、不存在“不合理的用法”
2、不是“危险的用法”而是“危险的写法”,假如漏掉一个 = 就变成赋值了。控制流程就发生了变化
------解决思路----------------------
if(flag) { // do something } // 正确的用法 应该是说简单的用法,不需要写一大堆==,本身就是bool量,直接用就好
if(flag==TRUE) { // do something } // 危险的用法 如果你写成=,那么就变成赋值语句了,==false同理
if(flag==1) { // do something } // 危险的用法 一点也不危险,根本语法都通不过,编译器报错
与false判断同上,没有什么不合理的,存在即合理
------解决思路----------------------
同意斑竹的漏等号赋值说法~~
另外,既然定义bool flag,就不要跟0-1比较。。。相反,C++一般可以把0-1作为条件,0为false,非0为true。。比如
int count;
if(count){//dosomething;}
if(count==0){//dosomething;}