可能重复:
在 C++ 中正确使用堆栈和堆?
堆与堆栈分配
我试图理解为什么我从 Java 移植到 C++ 的库(在使用转换器后进行了漫长而艰巨的编辑工作)并没有释放内存并且只会爆炸虚拟内存直到崩溃。显然,这与具有 GC 和 C++ 的 Java 无关 - 并且算法非常直接地转换为 C++。
所以这是我的问题。我在哪里以及如何删除分配的内存(释放它)?当我有:
Matrix *mat = new Matrix(args);
我显然需要以delete mat;
. 我可以避免这种情况吗?使用Matrix mat(args);
会更好吗?在内存分配和释放方面?还是使用Matrix mat = Matrix(args)
?