assert()
または内の変数を変更したときにコンパイラの警告を表示するためにできることはありdebug_print()
ますか?
このようなミスを防ぎたい
int i=0;
assert((++i)); // i is modified only in debug mode
std::set<int> s;
debug_print(("item inserted: %d\n", s.insert(5).first )); // set is modified only in debug mode
必要なチェックを実行できる、デバッグ モードのみでビルドされる一連のラッパー関数があるとします。
MyDbgAssert() // #define that wraps assert()
MyDbgPrint() // #define that wraps printf()