Top / <cassert>ヘッダ
<cassert>ヘッダ †
他のヘッダとは異なり、<cassert>ヘッダは同一の翻訳単位から複数回インクルードされた場合に、その時々の状況に応じて動作が変化する。具体的には、<cassert>ヘッダがインクルードされる時点で、NDEBUG マクロが定義されていなければ assert マクロが有効になり、定義されていれば無効になる。
マクロ †
assert †
表明
形式
void assert(int expr);
引数
expr: 診断対象の式
返却値
なし
解説
expr が真に評価される場合には何も行わない。そうでなければ、処理系定義の診断情報を stderr に出力し、abort 関数を呼び出す。診断情報には、expr に指定した実引数?を文字列化した内容のほか、ソースファイル名および行番号?が含まれる。
<cassert>ヘッダをインクルードする時点において NDEBUG マクロが定義されている場合、assert マクロは無効になる。具体的には、実引数? expr は評価されなくなり、また expr の内容に関わらず、assert は何も行わなくなる。
参照 †
Counter: 8631,
today: 1,
yesterday: 0
Last-modified: Sun, 20 Nov 2005 17:21:47 JST (5631d)
Last-modified: Sun, 20 Nov 2005 17:21:47 JST (5631d)