Namespaces
Variants

Standard library header <cstdbool> (C++11) (until C++20) , <stdbool.h> (C++11)

From cppreference.net
Standard library headers

Этот заголовочный файл изначально находился в стандартной библиотеке C как <stdbool.h> .

Заголовок совместимости. true , false и bool являются ключевыми словами в C++, но они не были ключевыми словами в C до стандарта C23.

Макросы

__bool_true_false_are_defined
(C++11) (устаревший)
Макроконстанта совместимости с C, раскрывается в целочисленный литерал 1
(макроконстанта)

Примечания

<cstdbool> устарел в C++17 и удалён в C++20. Соответствующий <stdbool.h> по-прежнему доступен в C++20.

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 3827 C++11 Программы на C больше не нуждаются в макросе совместимости
__bool_true_false_are_defined начиная с C23
объявил этот
макрос устаревшим в C++