bool与BOOL

来源:互联网 发布:php简历系统 编辑:程序博客网 时间:2024/05/17 06:07

BOOL是微软定义的整型,而bool是c++里的逻辑型变量

注意了,BOOL是整型,bool是逻辑变量,typedef int  BOOL,,,,,,,,,,,  bool  a,即a是bool型变量

既然这样定义了,那么BOOL理所当然的可以取任何整数值,而bool是逻辑型变量,那么它的取值是多少呢?true==1?false==0?

正常的思维下确实这样,于是就给了bool定义,零值为假,任何非0值为真(当然包括小数喽),例如:VC++定义true为1,VB则定义true为-1

那么问题来了,bool变量与0/1值怎么比较呢?

①  if(flag==true) if(flag==1)③  if(flag) if(!flag)

准确来说第三个是标准的,前两个不标准,也不能错的一塌糊涂,只能说三更标准

所以,bool只有true,false,具体值多少看定义了,记住一点bool表示逻辑。BOOL表示整型变量,作为函数返回值类型,在微软定义中BOOL可取真假错误三种状态,

返回值为>0的整数为TRUE,0为FALSE,-1为ERROR

0 0
原创粉丝点击