我试图修改一些以前的代码,但发现程序使用的内存在运行时不断增加。所以可能存在内存泄漏。我的代码的主要部分包含以下循环
CEnergymulti* ener;
double potential;
double pottemp;
potential=0.0;
pottemp=0.0;
for(int i=0;i<nbin;i++)
{
ener = new CEnergymulti(np1,molfnames1,idiel);
pottemp=ener->calculatePot(ener->m_mols);
potential+=pottemp;
delete ener;
}
其中“CEnergymulti”是一个类。我怀疑重复使用 new 和 delete 可能会导致内存泄漏问题,因为如果我只对循环内的代码执行一次运行,我没有看到运行期间内存增加。如果确实是 new 和 delete 的问题,我该如何纠正?谢谢。