4D星宇

c++

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  57 随笔 :: 0 文章 :: 39 评论 :: 0 Trackbacks

                                 出现内存泄露
上周调程,出现一点点小麻烦,特此MARK!
一直都在防止程序出现内存泄露,由于太过认真,所以反而出现问题,得不到解决。
 CubeData* data=new CubeData();
 m_prop->PopulateWithCubeItems(data);
 cubedata_list.push_back(data);
//delete data;---->防止程序出现内存泄露,结果反而把数据提前删除,
由于用到了WXWIDGET和IRRLICHT的STRING结构,误以为两者的结构不兼容,结果调到半夜一两点。
经过一步步的跟踪才发觉是上述问题。
把它注释后没有BUG了,但出现内存泄露。
于是,在全局析构中,释放内存。问题解决。

EditDiag::~EditDiag()        
{
    
if(m_prop)
        delete m_prop;
    
//*防止内存泄露
    list
<CubeData*>::Iterator it = cubedata_list.begin();
    
for (; it != cubedata_list.end(); ++it)
    {

        delete (
*it);
    }
      //*/防止内存泄露


    m_mgr.UnInit();
}


 

posted on 2008-04-14 10:31 bloodbao 阅读(141) 评论(0)  编辑 收藏 引用 所属分类: c++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理