简介
- 在编程中,bool(以小写形式)和BOOL(以大写形式)是两个不同的数据类型。
- bool是C++和C#等语言中的基本数据类型,它表示一个布尔值,可以是true(真)或false(假)。在C++中,true的值为1,false的值为0。bool类型通常用于判断条件语句和循环控制。
区别
1、类型不同
- BOOL为int型 bool为布尔型
2、长度不同
- bool只有一个字节
- BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,是0和1的区别; false可以代表0,但true有很多种,并非只有1。
如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。
BOOL是微软定义的typedef int BOOL(在windef.h中)。与bool不同,它是一个三值逻辑,
TRUE/FALSE/ERROR,返回值为大于0的整数时为TRUE,返回值为0时候,为FALSE,返回值为-1时为ERROR。
Win32 API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage().
BOOL GetMessage(
LPMSG lpMsg, // message information HWND hWnd, // handle to window
UINT wMsgFilterMin, // first message UINT wMsgFilterMax // last message);
If the function retrieves a message other than WM_QUIT, the return value is nonzero.
If the function retrieves the WM_QUIT message, the return value is zero.
If there is an error, the return value is -1.