3.1.9 bool类型
ANSI/ISO C++标准添加了一种名叫bool的新类型(对C++来说是新的)。它的名称来源于英国数学家George Boole,是他开发了逻辑律的数学表示法。在计算中,布尔变量的值可以是true或false。过去,C++和C一样,也没有布尔类型。在第五章和第六章中将会看到,C++将非零值解释为true,将零解释为false。然而,现在可以使用bool类型类表示真和假了,它们分别用预定义的字面值true和false表示。也就是说,可以这样编写语句:
bool is_ready = true;
字面值true和false都可以通过提升转换为int类型,true被转换为1,而false被转换为0:
int ans = true;
int promise = false;
另外,任何数字值或指针值都可以被隐式转换(即不用显示强制转换)为bool值。任何非零值都被转换为true,而零被转换为false:
bool start = -100;
bool stop = 0;
在第六章介绍if语句后,示例中经常使用数据类型bool;