C++中如何防止内存泄漏

new和delete还有malloc跟free这写我都知道,但是面试的时候问我说如何防止内存泄漏面试人员说这是最基本的还有其他的,我想知道具体的防止内存泄漏都有哪些... new和delete 还有 malloc跟free这写我都知道,但是面试的时候问我说如何防止内存泄漏面试人员说这是最基本的还有其他的,我想知道具体的防止内存泄漏都有哪些 展开
 我来答
super_admi
推荐于2016-03-02 · TA获得超过1126个赞
知道小有建树答主
回答量:1169
采纳率:0%
帮助的人:918万
展开全部
别人我不知道,但我的做法如下:

1.尽量不去手动分配内存。比如,我一般不使用数组,而使用STL的vector.

2.如果需要手动分配数组,尽量使用STL中的分配方式,或者使用STL和BOOST中的智能指针。

3.某些应用,比如MSXML,尽量使用智能指针。

4.凡是使用new和delete的地方,首先注意指针的初始化,然后要注意new和delete的配对,再就是要注意错误的捕捉。很多时候,内存泄漏不是因为new和delete的配对造成的,而是在自己没有考虑到的可能结果中,程序中断而没有delete手动分配的内存.

5.貌似有专门的方法来检测内存泄漏。不过我只听说过,没用过。
回头的世界
2010-12-26 · TA获得超过471个赞
知道小有建树答主
回答量:580
采纳率:0%
帮助的人:425万
展开全部
1)尽量把内存的分配和释放操作封装在类里面,自动化地进行;
2)程序运行过程中避免内存的分配操作;(如可以采取预先分配好内存缓冲区的方式)--这条其实很重要;
3)采取动STL组件的态数组代替手工分配对象内存的方式也是一种办法;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
悲欢归去来3425
2010-12-26 · TA获得超过364个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:325万
展开全部
使用所谓的即申请即初始化的方法(名字可能有错)
这点在c++primer中有讲解。
不过怎么说呢。还是要靠自己细心。小心行的千年船吗
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
橙子0514
2010-12-26 · 超过12用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:34.7万
展开全部
new 与 delete要配对存在。。。这个很重要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式