vc中bool與BOOL的區別

2021-08-24 19:07:37 字數 536 閱讀 4746

bool是微軟定義的typedef int bool。與bool不同,它是乙個三值邏輯,true/false/error,返回值為》1的整數為true,0為false,-1為error。win32 api中很多返回值為bool的函式都是三值邏輯。比如getmessage().

bool是標準c 資料型別,可取值true和false。

根據布林型別的語義,零值為「假」(記為false),任何非零值都是「真」(記為true)。true的值究竟是什麼並沒有統一的標準。例如visual c 將true定義為1,而visual basic則將true定義為-1。

假設布林變數名字為flag,它與零值比較的標準if語句如下:

if (flag) // 表示flag為真

if (!flag) // 表示flag為假

其它的用法都屬於不良風格,例如:

if (flag == true)

if (flag == 1 )

if (flag == false)

if (flag == 0)

vc中bool與BOOL的區別

bool是微軟定義的typedef int bool。與bool不同,它是乙個三值邏輯,true false error,返回值為大於零的整數為true,0為false,1為error。win32 api中很多返回值為bool的函式都是三值邏輯。比如getmessage bool是標準c 資料型別,...

BOOL與bool的區別

1 型別不同 bool為int型 bool為布林型 2 長度不同 bool只有乙個位元組 bool長度視實際環境來定,一般可認為是4個位元組 3 取值不同 bool取值false和true,是0和1的區別 bool取值false和true,是0和非0的區別 bool 只是乙個巨集,不是基本的資料型別...

BOOL與bool的區別

1 型別不同 bool為int型 bool為布林型 2 長度不同 bool只有乙個位元組 bool長度視實際環境來定,一般可認為是4個位元組 3 取值不同 bool取值false和true,是0和1的區別 bool取值false和true,是0和非0的區別 bool是標準c 資料型別,可取值true...