重複の可能性:
「new」を使用するとメモリリークが発生するのはなぜですか?
私は、
Foo bar = *(new Foo());
または、値を に割り当てた後にヒープからデータを削除できないため、メモリを浪費していますbar
。
ヒープ上でそれへの参照が失われるため、これは瞬時のメモリ リークです。
ただし、スタックでコンストラクターを呼び出すだけでよいのに、なぜ自分で作業を追加したいのでしょうか。
これは、予想とは異なる動作をします。
決して破棄されないヒープに一時的に作成する=メモリリーク
次に、スタックに一時オブジェクトの COPY を作成します。
したがって、このアプローチでは何も得られません..おそらくそこにスマートポインターが必要ですか?