几何尺寸与公差论坛

 找回密码
 注册
查看: 1903|回复: 0

[转帖]mfc中cmap对象的创建与释放,防止内存泄漏

[复制链接]
发表于 2008-12-17 20:31:36 | 显示全部楼层 |阅读模式
CMap <int,int,object*,object*> m_map;
for(int i=0; i<10; i++)
{
object *ob=new object();
m_map.SetAt(i,ob);
}
m_map.RemoveAll();
删除所有元素,并不会释放所有元素所分配的内存?


要挨个进行释放, 然后再调用m_map.RemoveAll(), 否则将会引起内存泄漏 。
object* pObj= NULL;

POSITION pos = m_map.GetStartPosition();

for(int i = 0; pos; i ++)

{

  m_map.GetNextAssoc(pos, i, pObj);

  if (pObj)

  {

    delete pObj;

    pObj= NULL;

  }
}
m_map.RemoveAll();

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-5 04:19 , Processed in 0.034682 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表