关闭

bool与BOOL

82人阅读 评论(0) 收藏 举报

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1276次
    • 积分:63
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:1篇
    • 译文:1篇
    • 评论:0条