標準ライブラリヘッダー <cstdbool> (C++11)(C++20まで), <stdbool.h> (C++11)
From cppreference.com
このヘッダーは元々C標準ライブラリで<stdbool.h>として存在していました。
互換性ヘッダーです。true, false, boolはC++ではキーワードですが、C23まではCのキーワードではありませんでした。
マクロ | |
| __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++のマクロ |