new
私の質問は、関数呼び出し内にある演算子で割り当てられたオブジェクトはどうなるかということです。
pV
具体的な例:クラス外のオブジェクト/関数に送信したいプライベートベクトルがありますfoo->func(std::vector<int> *vec)
。私は最初に書き込もうとしました
foo->func( new std::vector<int>(pV) )
ただし、これによりメモリリークが発生しました(この関数がループ内で繰り返し呼び出された場合)。関数と呼ばれる新しいオブジェクトを具体的に作成し、そのオブジェクトを削除すると、メモリリークなしですべてが機能しました。
新しく作成されたオブジェクト'expire'は、関数が戻ったときに削除されるべきではありませんか?そうでない場合、呼び出された関数の内部からオブジェクトを削除するにはどうすればよいですか?そして、どちらがより良いアプローチですか?