重複の可能性:
C ++での適切なスタックとヒープの使用?
ヒープとスタックの割り当て
JavaからC++に移植したライブラリ(コンバーターを使用した後の長くて骨の折れる編集作業)がメモリを解放せず、クラッシュするまで仮想メモリを爆発させる理由を理解しようとしています。明らかに、これはJavaがGCを持ち、C ++がないことと関係があります-そして、アルゴリズムはC++にかなりまっすぐに変換されます。
これが私の質問です。割り当てられたメモリをどこでどのように削除しますか(解放します)?私が持っているとき:
Matrix *mat = new Matrix(args);
明らかに、スコープを。で終了する必要がありdelete mat;
ます。これを回避できますか?使用Matrix mat(args);
する方が良いでしょうか?メモリの割り当てと解放の観点から?または使用していMatrix mat = Matrix(args)
ますか?