bool (C++)
Esta palabra clave es un tipo integrado. Una variable de este tipo puede tener valores true
y false
. Las expresiones condicionales tienen el tipo bool
y, por lo tanto, tienen valores de tipo bool
. Por ejemplo, i != 0
ahora tiene true
o false
en función del valor de i
.
Visual Studio 2017, versión 15.3 y posteriores (disponible con /std:c++17 y versiones posteriores): es posible que el operando de un operador de incremento o decremento de prefijo o de postfijo no sea de tipo bool
. En otras palabras, dada una variable b
de tipo bool
, estas expresiones ya no se permiten:
b++;
++b;
b--;
--b;
Los valores true
y false
tienen la relación siguiente:
!false == true
!true == false
En la instrucción siguiente:
if (condexpr1) statement1;
Si condexpr1
es true
, statement1
siempre se ejecuta; si condexpr1
es false
, statement1
nunca se ejecuta.
Cuando se aplica un operador ++
de prefijo o de postfijo a una variable de tipo bool
, la variable se establece en true
.
Visual Studio 2017, versión 15.3 y posteriores: se quitó del lenguaje operator++
para bool
y ya no se admite.
El operador --
de prefijo o de postfijo no se puede aplicar a una variable de este tipo.
El tipo bool
participa en promociones enteras predeterminadas. Un valor R de tipo bool
se puede convertir en un valor R de tipo int
, con false
como cero y true
como uno. Como un tipo distinto, bool
participa en la resolución de sobrecarga.