Booleans in C++ are represented by the bool
type.
A bool
is either true
or false
.
C++ supports three boolean operators: !
(NOT), &&
(AND), and ||
(OR).
You can also use the alternative versions not
, and
, and or
.
true || false // => true
true && false // => false
!true // => false
not false // => true
The three boolean operators each have different operator precedence.
As a consequence, they are evaluated in this order: !
first, &&
second, and finally ||
.
If you want to force a different ordering, you can enclose a boolean expression in parentheses (ie. ()
), as the parentheses have even higher operator precedence.
!true && false // => false
!(true and false) // => true
If you use true
or false
in a place where a number is expected, they will be converted to 1
and 0
respectively.
If you use a number in a Boolean operation, everything except 0
is treated as true
- even negative values.
!true && 0.0 // => false
true + true + false // => 2