コンパイル時アサート | Programming Place Plus 用語集

トップページ用語集

名称

解説

プログラミングにおけるアサートのうち、コンパイル時に判定を行うものをいいます。

コンパイル時に、ソースコード内に記述されたコンパイル時アサートの条件が判定され、条件が満たされているときは何も起こりませんが、満たされていないときには、コンパイルエラーを起こし、それとわかるようなエラーメッセージ出力します。

コンパイル時アサートの機能は、プログラミング言語が仕様として用意していたり、ライブラリフレームワークの形で用意されていたりします。

なお、コンパイル時アサートに対して、実行時に判定を行うアサートを、実行時アサートと呼びます。

C言語の場合

C11規格からは、言語の機能として _Static_assert というコンパイル時アサートが追加されています。また、標準ライブラリの側には、_Static_assert を static_assert という名称で使用できるようにするマクロが定義されています。

詳細は、C言語編第30章で解説しています。

また、C11 より前の規格であっても、自作することは不可能ではありません。

詳細は、C言語編第30章で解説しています。

C++ の場合

C++11規格からは、言語の機能として static_assert というコンパイル時アサートが追加されています1

また、C++11 より前の規格であっても、C言語と同様の手法によって、自作することができます。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る