bool (C++)
Это ключевое слово является встроенным типом. Переменная данного типа может иметь значения true и false. Условные выражения имеют тип bool, и поэтому имеют значения типа bool. Например, i!=0 теперь имеет значение true или false в зависимости от значения i.
Значения true и false находятся в следующих отношениях.
!false == true
!true == false
В следующем операторе
if (condexpr1) statement1;
Если значение condexpr1 равно true, то statement1 выполняется всегда; если значение condexpr1 равно false, то statement1 не выполняется никогда.
Если постфиксный или префиксный оператор ++ применяется к переменной типа bool, переменная принимает значение true. Постфиксный или префиксный оператор -- невозможно применить к переменной этого типа.
Тип bool участвует в восходящем приведении целого типа. R-значение типа bool можно преобразовать в r-значение типа int, при этом значение false становится нулем, а значение true — единицей. Как отдельный тип bool участвует в разрешении перегрузки.