bool (C++)
The latest version of this topic can be found at bool (C++).
This keyword is a built-in type. A variable of this type can have values true and false. Conditional expressions have the type bool
and so have values of type bool
. For example, i!=0
now has true or false depending on the value of i
.
The values true and false have the following relationship:
!false == true
!true == false
In the following statement:
if (condexpr1) statement1;
If condexpr1
is true, statement1
is always executed; if condexpr1
is false, statement1
is never executed.
When a postfix or prefix ++
operator is applied to a variable of type bool
, the variable is set to true. The postfix or prefix --
operator cannot be applied to a variable of this type.
The bool
type participates in integral promotions. An r-value of type bool
can be converted to an r-value of type int
, with false becoming zero and true becoming one. As a distinct type, bool
participates in overload resolution.