1、类型不同
2、长度不同
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.