注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
既に解放済みのメモリを解放しようとするととんでもないことになるそうで #defineマクロはバグの温床な... 既に解放済みのメモリを解放しようとするととんでもないことになるそうで #defineマクロはバグの温床なんていわれることもあるけど、ここでは大活躍です。 #define SAFE_DELETE(p) if(p){delete p;p=0;} //使うとき A* a = new A(); SAFE_DELETE(a); {}をつけたり、0がNULLだったりとバリエーションがあれど、基本的にこのような形です。 解放する前にチェックを入れるだけなんですが、使用頻度が高いので便利です。 DirectXなんかのサンプルコードとかでよく見かけますね。 SAFE_DELETEで検索してみると、もっと様々な情報が手に入るかと思います。 追記 どうやらdelete 0;をしても何もされない安全なコードのようです。 なのでifは不要のようですね。 #define SAFE_DELETE(p) {delete
2011/02/01 リンク