static_assert
From cppreference.com
| ヘッダー <assert.h> で定義 |
||
| #define static_assert _Static_assert |
(C11 以降) (C23 で削除済み) |
|
この便利なマクロは、キーワード _Static_assert に展開されます。
目次 |
[編集] 例
このコードを実行
#include <assert.h> int main(void) { static_assert(2 + 2 == 4, "2+2 isn't 4"); // well-formed static_assert(sizeof(int) < sizeof(char), // compile-time error "this program requires that int is less than char"); }
[編集] 注
C23 以降、static_assert 自体がキーワードとなり、プリディファインドマクロにもなり得るため、<assert.h> はこれをもう提供しません。
[編集] 参考文献
- C23標準 (ISO/IEC 9899:2024)
- 7.2/3 Diagnostics <assert.h> (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.2/3 Diagnostics <assert.h> (p: 135)
- C11標準 (ISO/IEC 9899:2011)
- 7.2/3 Diagnostics <assert.h> (p: 186)
[編集] 関連項目
| C++ ドキュメント (静的アサーション)
|