为了防止c++程序的内存泄漏,要注意什么原则?

 我来答
匿名用户
2013-10-19
展开全部
在c++里面,防止内存泄露,简单的说,就是如果new了,一定要delete。当然在实际的编程中不是所以人都能遵循这个原则,如果发生内存泄露,所以也可以debug的时候输出相应的信息,来检查内存泄露的具体位置。
在 windows 下使用 VC 编程时,我们通常需要 DEBUG 模式下运行程序,而后调试器将在退出程序时,打印出程序运行过程中在堆上分配而没有释放的内存信息,其中包括代码文件名、行号以及内存大小。
当我们new和delete的时候,不会有信息显示给我们,所以我们也可以重载他们,重载形式如下:void* operator new( size_t nSize, char* pszFileName, int nLineNum )
void* operator new[]( size_t nSize, char* pszFileName, int nLineNum )
void operator delete( void *ptr )
void operator delete[]( void *ptr )
如果感兴趣,可以搜索一下洪琨的那篇文章,有更详细的介绍。
匿名用户
2013-10-19
展开全部
什么函数里面分配的内存,就要在什么函数结束的时候释放
如果还需要在其他地方使用,那么最好用一定的规则来记录一下哪些内存没有释放
例如,如果是全局的指针,那么都把他们初始化为NULL,然后程序结束的时候就依次判断这些是否为NULL,如果不是,那么就释放内存并把他们设置为NULL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式