怎么释放 堆 内存
如何释放 堆 内存
//堆内存的分配
1,如何delete以上的堆内存?
2,如果我希望m_PtrArray这个数组在程序运时一直保持有效是不是不应释放?
还是在程序结束时释放?
------解决方案--------------------
1. 遍历m_PtrArray,取出元素指针,调用delete ?
2. 是的
------解决方案--------------------
1、必须要遍历数组挨个delete
2、生命周期由你来控制
------解决方案--------------------
//堆内存的分配
CGraph *pGraph = new CGraph(XXX,XXX);
m_PtrArray.Add(pGraph);
1,如何delete以上的堆内存?
2,如果我希望m_PtrArray这个数组在程序运时一直保持有效是不是不应释放?
还是在程序结束时释放?
------解决方案--------------------
1. 遍历m_PtrArray,取出元素指针,调用delete ?
2. 是的
------解决方案--------------------
1、必须要遍历数组挨个delete
2、生命周期由你来控制
------解决方案--------------------
CGraph *pGraph(NULL);
for (long i=0,long lCount = m_PtrAToSatrt.GetSize();i<lCount;++i)
{
if(pGraph = m_PtrAToSatrt.GetAt(i))
{
delete pGraph;
pGraph = NULL;
}
}
m_PtrAToSatrt.RemoveAll();