BOOL、bool使用小常识

1、类型不同

  bool为布尔型

  BOOL为int型

2、长度不同

  bool只有一个字节

  BOOL长度视实际环境来定,一般可认为是4个字节

3、取值不同

  bool取值false和true,是0和1的区别; false可以代表0,但true有很多种,并非只有1。

  如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器

       BOOL 取值FALSE(0)和TRUE(0).

 

如果编程人员这里稍不注意或者经验不足,就有可能导致在这个地方吃亏,比如:

BOOL   IsBigger(int a, int b)

{

       return a-b;

}

 

//...............

if(IsBigger(7,3) == TRUE)

{

  //pos 1

}

else

{

   //pos2

}

 

这个例子中,编程人员可能本意想在pos 1中处理一些操作,但是因为不了解BOOL 的一些特性,就会导致bug出现。

为了避免这样一种情况,我想可以这样来重写  IsBigger就ok

BOOL   IsBigger(int a, int b)

{

       return !!(a-b);

}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值