几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   内存泄漏 (http://www.dimcax.com/hust/forumdisplay.php?f=118)
-   -   [转帖]mfc中cmap对象的创建与释放,防止内存泄漏 (http://www.dimcax.com/hust/showthread.php?t=2269)

huangyhg 2008-12-17 08:31 PM

[转帖]mfc中cmap对象的创建与释放,防止内存泄漏
 
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();



所有的时间均为北京时间。 现在的时间是 03:52 AM.