频道栏目
首页 > 资讯 > Vc > 正文

VS2015--win32工程配置的一些想法之警告:“BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

16-02-18        来源:[db:作者]  
收藏   我要投稿

review了一些代码,参考c++ google style还有一定的距离。

有一条就是把警告当成错误进行处理。

今天就遇到了这样一个警告(错误):
BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

定位到了原型后发现,函数的参数定义为bool类型,而函数调用时使用的实参是BOOL类型。

当时有些疏忽,没有在意二者的区别。现在就来八一八。

首先看定义:

#define     bool                _Bool
typedef     int                 BOOL;

恍然大悟吧,二者类型就是不同的。

取值不同
bool取值false和true,是0和1的区别
BOOL取值FALSE和TRUE,是0和非0的区别

看看例子:

bool x = 5;   //告警
bool x = 1;   //正确
BOOL x = 5;   //正确
BOOL x = 3.3; //告警

个人觉得,就是要统一。
如果是写标准的C++,那么就全用bool;
如果是写vc++,就尽量使用BOOL,避免转换产生的性能警告。

相关TAG标签
上一篇:VS2015--win32工程配置的一些想法之GdiplusTypes.h(470) : error C3861: 'min': identifier not found
下一篇:C语言之linux内核实现平方根计算算法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站