0
我有一個C++ - cli類定位器,帶有一個函數定位在運行時需要大量內存。在運行結束時,通過釋放指針來釋放大部分內存,但仍有一些內存未被釋放,如果我在一個Lopp中連續運行該程序,它會疊加起來。有沒有一種方法可以完全刪除每次在函數結尾使用析構函數/構造函數分配的所有內存?從類方法中釋放分配的內存
public ref class Locator
{
public:
Locator() { }
~Locator() { }
Dictionary<String^, array<Byte>^>^ Locate(Dictionary<String^, String^>^ imgParms)
{ ..... }
private:
int m_HP;
int main()
{
Locator r;
Dictionary<String^,String^>^ myDictionary = gcnew Dictionary<String^,String^>();
Dictionary<String^,List<array<Byte>^>^>^ myResult1 = gcnew Dictionary<String^,List<array<Byte>^>^>();
myResult1=r.Locate(myDictionary,0);
return 0;
你創建(就像普通的C++)的對象
}
你還沒有告訴我們Locate()在做什麼。根據你的問題,你的問題似乎源於這個功能。 – DPD 2012-07-24 03:27:01
我想知道是否可以做到這一點,無論Locate方法。分配堆中的所有變量,然後在最後刪除堆。 – fmvpsenior 2012-07-24 15:29:17
「在最後刪除堆」我希望你不要指定一個操作符來清理整個堆。那是不可能的。 – DPD 2012-07-25 03:58:11