以前のコードをいくつか変更しようとしましたが、プログラムが使用するメモリが実行中に増加し続けることがわかりました。そのため、メモリ リークが発生する可能性があります。私のコードの大部分には、次のループが含まれています
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 を繰り返し使用すると、メモリ リークの問題が発生する可能性があると思われます。ループ内のコードを 1 回実行しただけでは、実行中にメモリの増加が見られなかったからです。それが本当に new と delete の問題である場合、どうすればこれを修正できますか? ありがとう。