发现有一个动态链表每次释放后在WindowsXP的任务管理器
中程序占用的内存不减反增。不知是何原因,请指教。
for(i=0;i<=m_MapDoc.m_PolygonArray.GetUpperBound();i++)
{
if((pa=m_MapDoc.m_PolygonArray.GetAt(i))!=NULL)
{
m_MapDoc.m_PolygonArray.RemoveAt(i);
delete pa;
// ASSERT(m_MapDoc.m_PolygonArray.GetAt(i) ==NULL);
}
}
中程序占用的内存不减反增。不知是何原因,请指教。
for(i=0;i<=m_MapDoc.m_PolygonArray.GetUpperBound();i++)
{
if((pa=m_MapDoc.m_PolygonArray.GetAt(i))!=NULL)
{
m_MapDoc.m_PolygonArray.RemoveAt(i);
delete pa;
// ASSERT(m_MapDoc.m_PolygonArray.GetAt(i) ==NULL);
}
}
解决方案 »
- 请教在WINCE中如何防止按钮重复响应?
- 窗口是无边框形式,但是为什么不能使用MoveWindow改变大小呢?
- AP 和 NT Service 如何实现通讯?
- 在单文档中,如何在mainfram关闭另外一个类生成的非模态对话框!
- 怎样将文件夹图标文件(folder.ico),导入到工程中,并设置ID 为 IDI_FOLDER??
- 我用VC6.0,MSComm控件,数据库用access,想把从串口接收的数据直接存到数据库中,可是每次都定位不准,为什么呢?请指点,谢谢了!
- 问一个很简单的图像读取显示的问题
- 使用ODBC访问SQL时出现的内存泄露问题?
- BUFFER写的问题,很简单,但我不会
- 有谁对鼠标画图的橡皮筋技术了解,我想在用SetRop2()命令基本实现了这种功能,但我希望能够在拖拉的过程中让线或矩形框可现,有谁有好方法吗?我给分
- 请问怎么拷贝文件
- 用completport时,CompletionKey和Overlapped结构的内存可否重复使用?
CAge* pa1;
CAge* pa2;array.Add( pa1 = new CAge( 21 ) ); // Element 0
array.Add( pa2 = new CAge( 40 ) ); // Element 1
ASSERT( array.GetSize() == 2 );
array.RemoveAll(); // Pointers removed but objects not deleted.
ASSERT( array.GetSize() == 0 );
delete pa1;
delete pa2; // Cleans up memory.
这是MSDN上的例子,RemoveAll只能删除指针,还是要用delete去释放内存阿