阿杰 发表于 2009-9-1 09:14:04

【分享】BOOL和bool的区别

<p><font face="Verdana">BOOL和bool的区别:</font></p>
<p><font face="Verdana">  1、类型不同</font></p>
<p><font face="Verdana">  BOOL为int型</font></p>
<p><font face="Verdana">  bool为布尔型</font></p>
<p><font face="Verdana">  2、长度不同</font></p>
<p><font face="Verdana">  bool只有一个字节</font></p>
<p><font face="Verdana">  BOOL长度视实际环境来定,一般可认为是4个字节</font></p>
<p><font face="Verdana">  3、取值不同</font></p>
<p><font face="Verdana">  bool取值false和true,是0和1的区别</font></p>
<p><font face="Verdana">  BOOL取值FALSE和TRUE,是0和非0的区别而bool是标准C++数据类型,可取值true和false。单独占一个字节,</font></p>
<p><font face="Verdana">  如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。</font></p>
<p><font face="Verdana">  BOOL是微软定义的typedef int BOOL(在windef.h中)。与bool不同,它是一个三值逻辑,</font></p>
<p><font face="Verdana">  TRUE/FALSE/ERROR,定义如下:(afx.h)</font></p>
<p><font face="Verdana">  #define FALSE 0</font></p>
<p><font face="Verdana">  #define TRUE 1</font></p>
<p><font face="Verdana">  #define ERROR 0</font></p>
<p><font face="Verdana">  Win32 API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage().</font></p>
<p><font face="Verdana">    二:布尔型变量bool</font></p>
<p><font face="Verdana">  bool是布尔型变量,也就是逻辑型变量的定义符,类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 </font></p>
<p><font face="Verdana">  布尔型变量的值只有 真 (true) 和假 (false)。 </font></p>
<p><font face="Verdana">  布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。 </font></p>
<p><font face="Verdana">  bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。 </font></p>
<p><font face="Verdana">  布尔型运算结果常用于条件语句, </font></p>
<p><font face="Verdana">  if (逻辑表达式)</font></p>
<p><font face="Verdana">  { </font></p>
<p><font face="Verdana">  如果是 true 执行这里; </font></p>
<p><font face="Verdana">  } </font></p>
<p><font face="Verdana">  else</font></p>
<p><font face="Verdana">  { </font></p>
<p><font face="Verdana">  如果是 false 执行这里; </font></p>
<p><font face="Verdana">  };</font></p>

upring 发表于 2015-8-7 18:35:02

哦 还真没注意一个逻辑型一个整数型
页: [1]
查看完整版本: 【分享】BOOL和bool的区别