2. 布尔类型

C++ 里新增了布尔类型(bool),用于表示布尔类型的数。

在 C 语言中,经常使用整数(int)或 字符型(char)来表示布尔类型的数,通常类型不统一(看程序编写人员的心情),并且数值表示的含义也不统一。比如 C 语言的关系运算符 < 通常返回 1 表示真,而有些函数则返回 0 表示执行成功。这给代码的阅读人员带来的极大的困惑。

C++ 统一的表示布尔的数据类型。其布尔类型名为bool,其值有两个 truefalse。其本质还是一个整数,但比起使用 intchar 类型,类型更加明确。

布尔类型的值:

true   // 表示真(值为1)
false  // 表示假(值为0)

布尔类型相关关键字

bool    true   false

示例:

// filename: type_bool.cpp
#include <iostream>

using namespace std;

int main(int argc, char * argv[]) {
    bool b1 = false;  // b1 为布尔类型变量

    b1 = 200 > 100;
    cout << "b1:" << b1 << endl;

    return 0;
}

编译和运行结果如下

weimz@mzstudio:~$ g++ -o type_bool type_bool.cpp
weimz@mzstudio:~$ ./type_bool 
b1:1

说明

布尔类型所真用的空间因编译器和硬件设备不同而不同,即 sizeof(bool) 的返回值可能是 14 等。

实验

尝试使用 bool 类型定义变量,然后将其赋值为 100,再打印此布尔类型变量的值。