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までキーワードではありませんでした。

Macros

__bool_true_false_are_defined
(C++11) (deprecated)
C互換性マクロ定数、整数リテラル 1 に展開される
(マクロ定数)

注記

<cstdbool> はC++17で非推奨となり、C++20で削除されました。対応する <stdbool.h> はC++20でも引き続き利用可能です。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 3827 C++11 CプログラムはC23以降、互換性マクロ
__bool_true_false_are_defined を必要としなくなった
このマクロをC++で
非推奨とした