標準ライブラリは効率のために最適化されていたりするので,fail safeではなかったり,あるいはassertが無かったりして,デバッグが大変.
GCCとClangの標準ライブラリには,debug modeがあるとのこと.
コンパイラ | debug modeを使うためのマクロ | 参考情報 |
---|---|---|
GCC | _GLIBCXX_DEBUG |
Chapter 17. Debug Mode |
Clang | _LIBCPP_DEBUG |
libc++ debug mode status |
例えば,上のマクロを-D_GLIBCXX_DEBUG
という風に,コンパイラのコマンドラインオプションを利用して定義して使う.
試しに使ってみたところ,パフォーマンスへの影響が結構出た.