ASSERTは配列の添字が範囲内に入っているかとか、渡された引数は正しいかなどのチェックに重宝する。
ASSERTでプログラムが停止されたときにはそのときの引数が表示される。そこで引数に&&を付けて文字列も指定してやれば、その文字列も表示される(文字列はtrueなので)。これを利用すれば、ASSERTで停止したときの原因をエラーメッセージとして表示できる。
#include <cassert> void func( int param ) { assert( param >= 0 && "Bad Param Number" ); }
このプログラムでは関数funcに渡される引数が0以上でなかったときASSERTで停止し、
param >= 0 && "Bad Param Number"
という文字列が表示される。