C++ で、匿名オブジェクトを引数として名前付きオブジェクト メソッドに渡す場合、名前付きオブジェクトを削除すると、匿名オブジェクトは削除されますか?
私がプロジェクトに使用しているライブラリは、独自のオブジェクトのメソッドのほとんどでオブジェクトへのポインタを期待しています。
WContainerWidget::addWidget(WContainerWidget* widget) {/*...*/}
そして彼らの例では、これらのオブジェクトを構築するときに new 演算子をよく使用します。
WContainerWidget* aFoo = new WConainerWidget(/*args*/);
aFoo->addWidget(new WText(/*args*/));
Idelete aFoo
の場合、匿名WText()
オブジェクトは削除されますか?
それらの実装がソースコードをソートせずにこれらの削除を処理すると信じるべきですか、それとも例示された動作を避けて、自分ですべてを明示的に名前付け/削除する必要がありますか?