免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4815 | 回复: 17
打印 上一主题 下一主题

[C++] new和delete不配对也不内存泄露? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-27 15:41 |只看该作者 |倒序浏览

  1. #include <unistd.h>
  2. #include <stdio.h>

  3. class A {
  4. public:
  5.     int i[2];
  6.     int * pi;
  7. };

  8. int main() {
  9. while(true) {
  10.     A * pa = new A[2];
  11.     delete pa;
  12. }

  13.     return 0;
  14. }

复制代码
g++编译以上代码,居然内存不泄露。。。

论坛徽章:
0
2 [报告]
发表于 2010-07-27 15:43 |只看该作者
泄露是跑的时候才看出来的。

论坛徽章:
0
3 [报告]
发表于 2010-07-27 15:45 |只看该作者
回复 1# wishel
LZ不知所云。。。。

论坛徽章:
0
4 [报告]
发表于 2010-07-27 15:47 |只看该作者
你怎么知道内存没泄漏?

论坛徽章:
0
5 [报告]
发表于 2010-07-27 15:49 |只看该作者

论坛徽章:
0
6 [报告]
发表于 2010-07-27 15:59 |只看该作者
运行程序, 然后top看内存你就知道泄不泄了

论坛徽章:
0
7 [报告]
发表于 2010-07-27 16:01 |只看该作者
你是怎么看出来内存没有泄露的???????

论坛徽章:
0
8 [报告]
发表于 2010-07-27 16:06 |只看该作者
lz以为g++可以智能到告诉你,哎呀!漏了!漏了!真的漏了!

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
9 [报告]
发表于 2010-07-27 16:09 |只看该作者
new[],delete

貌似那个OwnWaterloo大侠说过啊,是未定义结果
有可能new[],然后delete只是没有调用析构函数....

论坛徽章:
0
10 [报告]
发表于 2010-07-27 16:11 |只看该作者
我晕 ,少说了两句
是g++编译,运行的
用top看,不泄露
把delete那句去掉,很快吃光内存
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP