在 C++ 中,bool
類型用于表示真(true)或假(false)
以下是一些常見的 C++ 數據類型及其與 bool
類型的對比:
int
, long
等)轉換為 bool
時,0 值被視為假(false),而非零值被視為真(true)。int a = 0;
bool b = static_cast<bool>(a); // b 為 false
int c = 42;
bool d = static_cast<bool>(c); // d 為 true
float
, double
等)轉換為 bool
時,0.0 值被視為假(false),而非零值被視為真(true)。float e = 0.0f;
bool f = static_cast<bool>(e); // f 為 false
double g = 3.14;
bool h = static_cast<bool>(g); // h 為 true
char
)轉換為 bool
時,字符值為 0 的情況下被視為假(false),其他字符值被視為真(true)。char i = '\0';
bool j = static_cast<bool>(i); // j 為 false
char k = 'A';
bool l = static_cast<bool>(k); // l 為 true
int*
, char*
等)轉換為 bool
時,空指針(nullptr)被視為假(false),非空指針被視為真(true)。int* m = nullptr;
bool n = static_cast<bool>(m); // n 為 false
int o = 42;
int* p = &o;
bool q = static_cast<bool>(p); // q 為 true
總之,在 C++ 中,bool
類型與其他數據類型的對比主要取決于它們在轉換過程中的值。通常情況下,0 值或空指針被視為假(false),而非零值或非空指針被視為真(true)。