Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article
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
.
Visual Studio 2017 version 15.3 and later (Available with /std:c++17 and later): The operand of a postfix or prefix increment or decrement operator may not be of type bool
. In other words, given a variable b
of type bool
, these expressions are no longer allowed:
b++;
++b;
b--;
--b;
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
.
Visual Studio 2017 version 15.3 and later: operator++
for bool
was removed from the language and is no longer supported.
The postfix or prefix --
operator can't be applied to a variable of this type.
The bool
type participates in default 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.