以前の質問に対するこの回答が指摘しているように、初期化されていない変数の値は不確定である可能性があります。この不確定なデータを指定して、たとえば繰り返す方法はあります0xDEADDEAD
か?不確定なデータは明らかにコンパイラ固有ですが、簡単に認識できるものにするように強制するのは常に良いことです。
これを可能にする既存のメモリリーク/破損検出ライブラリはありますか?オーバーロードnew
は解決策のように見える場合もありますが、私はそのトリックを自分で掘り下げたくありません。
memset()
問題は、不確定な値は通常、コードの未定義の動作を引き起こし、実行時のバグはめったに発生しないことです。たとえば、コードのどこかを忘れたかどうかを確認したいと思います。不確定な値をランダム化することでさえ、テストベンチとして役立つ可能性があります。
これが不可能な場合、問題を解決するためのより良いアプローチはありますか?