BOOL, bool, warning C4800

不知道其他人遇到过如下VC中如下error没有:

warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)

比如我写一个函数,出于某种原因我要返回C++标准类型bool,但是很多windows api都是BOOL的,编译的时候编译器默认warning设置会出现上述warning:

 

bool test() {

  BOOL a;

  return a;

}

 

今天在读chromium代码的时候,发现这么一段:

 

bool

 

 

WidgetWin::IsVisible() const {

 

  return !!::IsWindowVisible(hwnd());

 

当时觉得这个代码作者很搞,干吗写两个否定(!!)丫的不是等于没写么?随口骂了句sb,仔细想想,是我SB了,这样可以消除上述的warning,要知道,从很多warning中区别哪些要care的哪些不要care在大规模项目中尤其重要,又学一招。

 

以后遇到问题首先要从自己出发,首先怀疑自己,否定自己,再去分析问题,事实一次次证明,大多数我们自己是sb了

}


本博客搬迁至http://www.macode.net/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值