c++中有什么方法可以避免内存泄露?

[复制链接]
查看11 | 回复5 | 2007-11-20 22:43:53 | 显示全部楼层 |阅读模式
首先同意3楼的,不过确实使用了指针之后,很容易一不小心就内存泄露了,所以还是应该养成良好的习惯,写完之后要注意检查一下,还有就是在调试的时候要把好关
回复

使用道具 举报

千问 | 2007-11-20 22:43:53 | 显示全部楼层
上面说的对 除非你不使用指针(貌似不使用指针是不可能的) 否则不可能避免这种现象..只能是你写命令时候提起精神........
回复

使用道具 举报

千问 | 2007-11-20 22:43:53 | 显示全部楼层
我觉得只要使用了指针,则避免内存泄漏没什么完美好方法,不管什么方法都要仔细地一再检查.
回复

使用道具 举报

千问 | 2007-11-20 22:43:53 | 显示全部楼层
看一下林锐的那本有测试内存泄露的工具。你在网上找吧。。。好多
回复

使用道具 举报

千问 | 2007-11-20 22:43:53 | 显示全部楼层
方法有21、使用数组。例如main(int argc,char **argv){char caTmp[64];strcpy(caTmp,argv[1]); while(1) {
……
sleep(60); }}因为数组的空间是系统自动分配,而且函数执行完毕后数组空间自动释放。就算循环调用test函数也不会内存泄漏。2、如果空间是用malloc或是new分配的,使用完毕一定要释放,不然就会造成内存泄露。例如main(int argc,char **argv){char *pcTmp; while(1) {
pcTmp=malloc(64);
strcpy(pcTmp,argv[1]);
……
free(pcTmp);
sleep(60); }}上面都是非常简单的例子,说明不了 具体的情况。具体情况需要仔细检查,程序写完后多测试。
回复

使用道具 举报

千问 | 2007-11-20 22:43:53 | 显示全部楼层
使用STL和BOOST
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行