此关键字是内置类型。 此类型的变量可以具有值
true
和
false
。 条件表达式不仅具有类型
bool
,还具有类型
bool
的值。 例如,
i != 0
现在具有
true
或
false
,具体取决于
i
的值。
Visual Studio 2017 版本 15.3 及更高版本(在
/std:c++17
和更高版本中可用):后缀或前缀递增或递减运算符的操作数可能不是类型
bool
。 换句话说,如果是
bool
类型的变量
b
,则不允许使用这些表达式:
值
true
和
false
具有以下关系:
!false == true
!true == false
在下面的语句中:
if (condexpr1) statement1;
如果 condexpr1 为 true,则始终执行 statement1;如果 condexpr1 为 false,则从不执行 statement1。
当后缀或前缀 ++ 运算符应用于类型 bool 的变量时,该变量将设置为 true。
Visual Studio 2017 版本 15.3 及更高版本:已从语言中删除 bool 的 operator++ 且不再提供支持。
后缀或前缀 -- 运算符不能应用于此类型的变量。
bool 类型参与了默认整型提升。 类型 bool 的右值可以转换为类型 int 的右值,同时 false 会变为 0,且 true 会变为 1。 作为截然不同的类型,bool 参与重载决策。