在 C++ 中,bool 类型用于表示真(true)或假(false)
以下是一些常见的 C++ 数据类型及其与 bool 类型的对比:
int, long 等)转换为 bool 时,0 值被视为假(false),而非零值被视为真(true)。int a = 0;bool b = static_cast<bool>(a); // b 为 falseint 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 为 falsedouble 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 为 falsechar 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 为 falseint o = 42;int* p = &o;bool q = static_cast<bool>(p); // q 为 true总之,在 C++ 中,bool 类型与其他数据类型的对比主要取决于它们在转换过程中的值。通常情况下,0 值或空指针被视为假(false),而非零值或非空指针被视为真(true)。


