vc中bool与BOOL的区别

原创 2007年09月20日 13:24:00

BOOL是微软定义的typedef   int   BOOL。与bool不同,它是一个三值逻辑,TRUE/FALSE/ERROR,返回值为>0的整数为TRUE,0为FALSE,-1为ERROR。Win32   API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage().

bool是标准C++数据类型,可取值true和false。

根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE定义为1,而Visual Basic则将TRUE定义为-1。
假设布尔变量名字为flag,它与零值比较的标准if语句如下:
if (flag) // 表示flag为真
if (!flag) // 表示flag为假
其它的用法都属于不良风格,例如:
if (flag == TRUE)
if (flag == 1 )
if (flag == FALSE)  
if (flag == 0) 
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Elasticsearch查询match、term和bool区别

原文地址:http://www.cnblogs.com/yjf512/p/4897294.html elasticsearch 查询(match和term) es中的查询请求有两种方式,一...

各版本bool的区别

在写代码的过程中经常会遇到多种布尔类型,下面主要介绍三种常见布尔类型bool: 它的意义是0为false非零为true,这种布尔类型也叫原生布尔类型,因为其他版本主要是通过0和1来实现类似的功能,只有...
  • yddj5
  • yddj5
  • 2016-12-21 20:29
  • 134

bool 和 bitset的区别

bool 和 bitset的区别,bitset 提高空间利用率,内置方法读取效率

pl0 bool增添的短路

  • 2012-07-20 10:38
  • 332KB
  • 下载

STL vector<bool>总结

这里是vector的总结,详细原文可看后面链接。 class template specialization std::vector template > class ve...

避免使用vector<bool>

 作为一个STL容器,vector只有两点不对。首先,它不是一个STL容器。其次,它并不存储bool。除此之外,一切正常。 一个对象要成为容器,就必须满足C++标准中列出的所有条件,其...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)