qhdwangli
qhdwangli
采纳率100%
2016-01-13 10:43

new生成变量不释放是否会造成内存泄露

已采纳

MFC中的对话框初始化函数有以下代码,
其中用new生成的东西,不释放是否会造成内存泄露?
如果会造成内存泄露,改怎样处理?
好多书上经常这么用,也没看到在哪里释放了。

 HDITEM item;   
item.cxy=200;   
item.mask=HDI_WIDTH;   
m_propertyGrid.GetHeaderCtrl().SetItem(0, new HDITEM(item));   

CMFCPropertyGridProperty *pProp1 = new CMFCPropertyGridProperty(  
    _T("普通文字"),    
    _T("显示正确"),    
    _T("这是描述部分"));     
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    mfc肯定会的。一般来说,应该在析构函数中释放变量。

    点赞 3 评论 复制链接分享
  • fk002008 lambda-fk 5年前

    c和c++动态生成的地址空间是不会自动释放的。
    这可不是java
    所以new要和delete配对
    不然肯定内存泄露

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    很多图书都是找大学生胡乱写的代码,根本不靠谱。new一定要和delete成对出现。

    点赞 1 评论 复制链接分享
  • Royal_lr Royal_lr 5年前

    c++肯定要自己释放内存的,,不然肯定会泄漏的

    点赞 评论 复制链接分享

相关推荐