例えばstd::vectorのoperator[]に、要素数を超える値を渡すとします。
すると、デバッグ用のランタイムでビルドしてあれば、実行時に"vector iterator not dereferencable"というメッセージと、
行番号などが出て強制終了します。

単なるassertマクロより、これの方が便利だな〜と思いました。
ソースを見ると_DEBUG_ERRORというマクロを使っているみたいなのですが、
これって、環境依存のため自分のコードには使わない方がいいですよね?
ちなみに環境はVC2008EEです。