C++_assert とは

C++/CLI でも C#++ でも使えるもよう。
assert:主張する。

assert は、その関数を呼び出すユーザに対して要件を表明できる。

ex )
「関数の引数がある範囲内の値でなければならない」
assert ( 10 < a < 100 )

「ある状態でこの関数を呼び出してはならない」
assert ( hoge != nullptr )

式が true ならそのまま処理を続行するが、false なら
診断メッセージを出力してプログラムを終了する。

 

assert を使う場面

ファイルオープンで、assert( fp ) は NG。 if 文でエラーを書くこと。

開発者意図を記述する。

このコードはこういう条件を想定している、
こういう状態しか想定していない、など意思を明記する。

 

こちらから。
http://c.keicode.com/lib/assert.php
https://cpprefjp.github.io/reference/cassert/assert.html
http://c.keicode.com/lib/assert-when-you-should-use.php

 

以上。

--Memo--
以下のようなコードを書き、
i = 99; にしてデバッグしてみたら次のメッセージが出た。

assert(100 < i)
   
    Program: xxxxxxx.exe
    File: xxxxxxxx.cpp
    Line: nn
   
    assert(100 < i);
   
    Expression: 100 < i
   
    For information on how your program can cause an assertion
    failure, see the Visual C++ documentation on asserts
   
    (Press Retry to debug the application - JIT must be enabled)
    xxxxx.exe によってブレークポイントが発生しました。