关于内存泄露的那些事

今天写程序的时候碰到了内存泄露,以前也碰到过,内存泄露这东西太麻烦了,今天又搞了我很久,所以决定把每次泄露的情况写下来,以便以后做参考。


时间: 2015-1-5 

问题标题:没有释放STL容器中的指针导致内存泄露

问题文字描述:我的目的是要动态生成选项卡,因为无法确定选项卡具体的个数,所以采用了容器。容器中添加的是一个窗口(也就是选项卡单个界面)的指针。

问题代码描述:

//定义选项卡窗口容器
vector<CPhaseTabDlg *> m_tabVect;

//将单个窗口添加到容器中
CPhaseTabDlg *pDlg = new CPhaseTabDlg();
pDlg->Create(IDD_PH_DLG, GetDlgItem(IDC_TAB1));
m_tabVect.push_back(pDlg);
解决方法:必须将容器中的指针delete掉,注意有些特殊的指针需要进行相应的特殊处理

for(UINT i = 0; i < m_tabVect.size(); i++)
{
	CPhaseTabDlg *pDlg = m_tabVect.at(i);
	pDlg->DestroyWindow();	//窗口必须要销毁,否则也会造成内存泄露
	delete pDlg;
}
m_tabVect.clear();
可能还有很多方法,大家有好的建议欢迎提出,我将添加进来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值