bool (C++)
Essa palavra-chave é um tipo interno. Uma variável desse tipo pode ter valores true e false. As expressões condicionais têm o tipo bool e, sendo assim, têm valores do tipo bool. Por exemplo, i!=0 agora tem true ou false, dependendo do valor de i.
Os valores true e false têm a seguinte relação:
!false == true
!true == false
Na instrução a seguir:
if (condexpr1) statement1;
Se condexpr1 for true, statement1 sempre será executado; se condexpr1 for false, statement1 nunca será executado.
Quando um operador de sufixo ou prefixo ++ for aplicado a uma variável do tipo bool, a variável será definida como true. O operador -- de sufixo ou prefixo não pode ser aplicado a uma variável desse tipo.
O tipo bool participa de promoções de integral. Um r-value do tipo bool pode ser convertido em um r-value do tipo int, com false se tornando zero e true se tornando um. Como um tipo diferente, bool participa da resolução de sobrecarga.