これに似た質問があることは知っていますが、私の質問に対する決定的な答えはありません...
これらはどちらもベストプラクティスの点で問題ありませんか? または、ポインタを返す必要がありますか? そうでない場合は、ベスト プラクティスに従うためにどのように変更する必要がありますか。
関数から新しいオブジェクトへの参照を返したい。私の実装は次のとおりです。
MyClass& doSomething() {
return *(new MyClass());
}
MyClass a = doSomething();
MyClass の新しいインスタンスが new でヒープに割り当てられているため、これは問題ありませんか?
それとも、それを一定にする必要がありますか(いつこれを行うべきかどうかはよくわかりません)?
const MyClass& doSomething() {
return *(new MyClass());
}
そして、これらの両方が間違っている場合、新しいオブジェクトへのポインターを返すだけでよいでしょうか?
ありがとう。