C言語/標準ライブラリ/stdbool.h
表示
(C言語/標準ライブラリ/論理型及び論理値 から転送)
Boolean type and values <stdbool.h>:論理型と論理値
[編集]ヘッダー <stdbool.h> には、4つのマクロが定義されています[1]。
C23
[編集]C23では、マクロ bool, true, false がキーワードになったので __bool_true_false_are_defined が 1 に定義されているだけで、このマクロも非推奨です[2]。C23では、__STDC_VERSION_XXX_H__ のように機能仕様を示すマクロが提供
されていますが、<stdbool.h> はこのようなマクロは提供されていません。
マクロ
[編集]bool- キーワード _Bool に展開されます。
残りの3つのマクロは、#if 前処理ディレクティブでの使用に適しています。
true- 整数定数の1に展開されます。
false- 整数定数の0に展開されます。
__bool_true_false_are_defined- 整数の定数1に展開されます。
bool、true、falseというマクロを定義解除して、おそらく再定義する機能は、時代遅れの機能です[3]。
歴史
[編集]ヘッダー <stdbool.h> は、ISO/IEC 9899:1999(通称:C99)で追加されました。
脚註
[編集]- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 210, §7.18 Boolean type and values <stdbool.h>. オリジナルの2018-12-30時点によるアーカイブ。.
- ^ N3096 working draft — April 1, 2023 ISO/IEC 9899:2023 (E). p. 310, §7.19 Boolean type and values <stdbool.h>.
- ^ N2176 C17 ballot ISO/IEC 9899:2017. ISO/IEC JTC1/SC22/WG14. p. 332, §7.31.9 Boolean type and values <stdbool.h>. オリジナルの2018-12-30時点によるアーカイブ。.
参考文献
[編集]- 国際標準化機構/国際電気標準会議 ISO/IEC 9899:2018(en) Information technology — Programming languages — C(2018-07-05)