您的位置:首页 > 其它

bool和BOOL的区别(转)

2012-12-06 09:39 197 查看
1、类型不同       
BOOL为int型       
bool为布尔型   
2、长度不同       
bool只有一个字节       
BOOL长度视实际环境来定,一般可认为是4个字节   
3、取值不同       
bool取值false和true,是0和1的区别       
BOOL取值FALSE和TRUE,是0和非0的区别   
bool是标准C++数据类型,可取值true和false。单独占一个字节,如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。   
BOOL是微软定义的typedef int BOOL。与bool不同,它是一个三值逻辑,TRUE/FALSE/ERROR,返回值为>0的整数为TRUE,0为FALSE,-1为ERROR。Win32 API中很多返回值为BOOL的函数都是三值逻辑,比如GetMessage()。
windows为了兼容问题定义的基础变量。   
typedef unsigned long       DWORD;   
typedef int                         BOOL;   
typedef unsigned char       BYTE;   
typedef unsigned short      WORD;   
typedef float                     FLOAT;   
typedef FLOAT                 *PFLOAT;   
typedef BOOL near           *PBOOL;   
typedef BOOL far             *LPBOOL;   
typedef BYTE near           *PBYTE;   
typedef BYTE far              *LPBYTE;   
typedef int near                *PINT;   
typedef int far                  *LPINT; //   maximum   heap   size
 
 
俺要说两句:
1. 大写的BOOL是MFC的,要包含头文件的。 

           小写的bool就不用包含头文件。
2. 大写的是Window API的一个函数类型需要定义头文件
3.  BOOL不同于bool,前者是Windows定义的一个int型,后者才C的内置类型(C++标准数据类型)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: