アサート | Programming Place Plus 用語集

トップページ用語集

名称

解説

プログラミングにおいて、前提として満たされているべき条件を記述する機能のことです。

前提条件とは、コンパイルの時点で確定できている条件(あるで表現できる数の範囲など)や、実行時に確定する条件(たとえば、ある関数が、渡されてくる引数の値について想定している範囲)のことで、こういった条件をソースコード内に記述しておきます。

条件が満たされていれば、特に何も起こりませんが、条件が満たされていないことが検出されると、コンパイルを失敗させたり、実行を停止させたりします。

コンパイル時に判定を行うアサートは、コンパイル時アサート(静的アサート)などと呼ばれることがあります。これに対して、実行時に判定を行うアサートを、実行時アサートと呼ぶことがあります。

実行時のアサートは基本的に、プログラムの開発中に使う機能です。デバッグを終えるまでのあいだに、前提条件を満たしていない箇所は解決されていることを前提に、リリースするプログラムでは無効化することが多いです。

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

C言語の場合

C言語の標準ライブラリには、実行時アサートとして、assert という名前のマクロが定義されています(C言語編第30章)。

また、C11 では言語機能として _Static_assert が、標準ライブラリとして static_assert が追加されています。これはコンパイル時アサートです(C言語編第30章)。

C++ の場合

C++ の標準ライブラリには、実行時アサートとして、assert という名前のマクロが定義されています。

また、C++11 で、言語機能として static_assert が追加されています。これはコンパイル時アサートです。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



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