【轉】BOOL和bool的區別


一、
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().
三:
大BOOL和小bool之間的區別:
1、類型不同
BOOL為int型
bool為布爾型
2、長度不同
bool只有一個字節
BOOL長度視實際環境來定,一般可認為是4個字節
3、取值不同
bool取值false和true,是0和1的區別
BOOL取值FALSE和TRUE,是0和非0的區別
4、例子
bool x=3;   //告警
bool x=1;   //正確
BOOL x=3;   //正確
BOOL x=3.3;   //告警
 
注: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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM