○アサーション
不変条件のチェックポイントとして使用します
■assart デバッグ環境で条件が成立していなければ、メッセージを表示してプログラムを異常終了させます
リリースコンパイルをするとassertがすべて削除されます。
#include <stdio.h>
#include <assert.h>
int main(int argc, char* argv[])
{
assert(false);//メッセージを表示して異常終了します。
return 0;
}
■副作用のあるプログラム
リリースコンパイルをするとassertがすべて削除されますので、
挙動が変わります。
#include <stdio.h>
#include <assert.h>
#include <windows.h>
int main(int argc, char* argv[])
{
assert(MessageBox(NULL,"debug","assert",MB_OK));
return 0;
}