bool和BOOL的區別

一、 
1、類型不同 
BOOL爲int型 
bool爲布爾型 
2、長度不同 
bool只有一個字節 
BOOL長度視實際環境來定,一般可認爲是4個字節 
3、取值不同 
bool取值false和true,是0和非0的區別 

BOOL取值FALSE和TRUE,是0和1的區別  


二: 
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 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;
發佈了16 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章