在C++中,bool是一种基本数据类型,专门用于表示布尔值(真或假)。它是C++语言特有的布尔类型,与C语言中使用整数模拟布尔值的方式不同。
C++中声明bool变量的语法与其他基本类型类似:
|
1 2 3 |
bool isReady = true; bool isFinished(false); bool isActive; // 默认初始化为false |
bool类型的变量只能取两个值:true(真)或false(假)。在内存中,bool通常占用1个字节空间。
C++中的bool类型与整型有明确区分,这不同于C语言:
|
1 2 |
bool b = 1; // 合法,但非最佳实践(应使用true) int i = true; // i将被赋值为1 |
bool类型专为条件判断设计:
|
1 2 3 4 5 6 7 |
if (isReady) { // 当isReady为true时执行 }
while (!isFinished) { // 当isFinished为false时循环 } |
bool类型可与逻辑运算符完美配合:
|
1 2 3 4 5 |
bool a = true; bool b = false; bool result = a && b; // 逻辑与 result = a || b; // 逻辑或 result = !a; // 逻辑非 |
C++中其他类型可隐式或显式转换为bool:
|
1 2 3 4 5 6 |
int x = 10; bool b = x; // b为true
if (ptr) { // 如果ptr不是nullptr则执行 // ... } |
可使用std::boolalpha使流输出true/false而非1/0:
|
1 2 |
std::cout << std::boolalpha << true; // 输出"true" std::cout << std::noboolalpha << true; // 输出"1" |