名前空間
変種
操作

標準ライブラリヘッダー <cstdbool> (C++11)(C++20まで), <stdbool.h> (C++11)

From cppreference.com
 
 
標準ライブラリヘッダー
アルゴリズム
<algorithm>
<numeric>
文字列
<cctype>
<cstring>
<cuchar> (C++11)
<cwchar>
<cwctype>
<string_view> (C++17)
<string>
テキスト処理
<clocale>
<codecvt> (C++11/17/26*)
<locale>
<regex> (C++11)
<text_encoding> (C++26)   
数値
<cfenv> (C++11)
<cmath>
<complex>
<linalg> (C++26)
<numbers> (C++20)
<random> (C++11)
<simd> (C++26)
<valarray>
時間
<chrono> (C++11)
<ctime>
C互換
<ccomplex> (C++11/17/20*)
<ciso646> (C++20 まで)
<cstdalign> (C++11/17/20*)
<cstdbool> (C++11/17/20*)
<ctgmath> (C++11/17/20*)
 

このヘッダーは元々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++のマクロ
English 日本語 中文(简体) 中文(繁體)