プログラミングにおけるアサートのうち、コンパイル時に判定を行うものをいいます。
コンパイル時に、ソースコード内に記述されたコンパイル時アサートの条件が判定され、条件が満たされているときは何も起こりませんが、満たされていないときには、コンパイルエラーを起こし、それとわかるようなエラーメッセージを出力します。
コンパイル時アサートの機能は、プログラミング言語が仕様として用意していたり、ライブラリやフレームワークの形で用意されていたりします。
なお、コンパイル時アサートに対して、実行時に判定を行うアサートを、実行時アサートと呼びます。
C11規格からは、言語の機能として _Static_assert というコンパイル時アサートが追加されています。また、標準ライブラリの側には、_Static_assert を static_assert という名称で使用できるようにするマクロが定義されています。
詳細は、C言語編第30章で解説しています。
また、C11 より前の規格であっても、自作することは不可能ではありません。
詳細は、C言語編第30章で解説しています。
C++11規格からは、言語の機能として static_assert というコンパイル時アサートが追加されています[1]。
また、C++11 より前の規格であっても、C言語と同様の手法によって、自作することができます。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |