C++相談室 part62
■ このスレッドは過去ログ倉庫に格納されています
0390デフォルトの名無しさん
2008/06/25(水) 13:48:24struct A { void add( X* x ); };
X* x = new X;
A a;
a.add( x );
A のオブジェクトは A::add() で追加した X のオブジェクトを delete する義務があります。
この場合 A::add() が失敗して例外を投げるとき A::add() は x を delete するべきでしょうか?
普通、関数が例外を投げるときその関数が何もしなかったことにするのが理想だと思いますが
delete したほうが便利な場合も多いと思うのですが。
■ このスレッドは過去ログ倉庫に格納されています