C++相談室2

このエントリーをはてなブックマークに追加
459デフォルトの名無しさん
>>404

void foo()
{
  auto_ptr<int> p1(new int);
  auto_ptr<int> p2(new int);

  // do something
}

こうすれば例外が出てもリークしません。
p2の確保に失敗したときですら、p1だけがうまくデストラクトされます。
auto_ptrを使え、ということではなく、自動変数(スコープ)をうまく使えということです。
vectorやlistを使ってもいいし、何かのクラスのメンバになっていてもいい。
要はdeleteが無ければいい。deleteをまき散らしているやつはまだ厨房。