免费注册 查看新帖 |

Chinaunix

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

谁来帮我人肉debug?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-09 10:13 |只看该作者 |倒序浏览
#include "stdafx.h"
#include<iostream.h>
#define N 8

int main(int argc, char* argv[])
{
int **ip;
int i,j;
ip = new int*[N];
for (i=0;i<N;i++)
{
  *ip = new int[N];
  for (j=0;j<N;j++)
  {
   **ip=0;
   (*ip)++;
  }
  ip++;
}
cout<<"ok!"<<endl;
delete [] ip;
cout<<"ok!"<<endl;
return 0;
}

//程序最后,怎么删除ip这个指针。是有一般方法,还是要另编函数????????????

论坛徽章:
0
2 [报告]
发表于 2007-07-09 10:27 |只看该作者
你不需要释放ip
你需要释放第二次new分配的空间
你在程序中并未释放,而且改变了*ip的值
写一个循环,里面加上
delete [](*ip-N);

原帖由 acc98596 于 2007-7-9 10:13 发表
#include "stdafx.h"
#include
#define N 8

int main(int argc, char* argv[])
{
int **ip;
int i,j;
ip = new int*[N];
for (i=0;i

[ 本帖最后由 ypxing 于 2007-7-9 10:28 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-07-09 13:26 |只看该作者
程序都退出了,还删它干嘛...

论坛徽章:
0
4 [报告]
发表于 2007-07-09 13:27 |只看该作者
可是有人说这样比较专业....................

论坛徽章:
0
5 [报告]
发表于 2007-07-09 14:21 |只看该作者
你这种写法一点也不专业,有内存泄露问题

原帖由 acc98596 于 2007-7-9 13:27 发表
可是有人说这样比较专业....................

论坛徽章:
0
6 [报告]
发表于 2007-07-09 15:22 |只看该作者
用智能指针,自动删

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
7 [报告]
发表于 2007-07-09 19:10 |只看该作者
原帖由 ypxing 于 2007-7-9 14:21 发表
你这种写法一点也不专业,有内存泄露问题


又不是daemon, 它想漏就漏吧.

顺便问一下6楼的兄弟: 什么是智能指针?

论坛徽章:
0
8 [报告]
发表于 2007-07-09 19:27 |只看该作者
int **ip; 在栈上分配空间,该主函数main的栈没了之后自然就没了。

论坛徽章:
0
9 [报告]
发表于 2007-07-09 19:49 |只看该作者
你这可不是对待生活的态度呀

原帖由 koolcoy 于 2007-7-9 19:10 发表

又不是daemon, 它想漏就漏吧.

顺便问一下6楼的兄弟: 什么是智能指针?

论坛徽章:
0
10 [报告]
发表于 2007-07-10 12:11 |只看该作者
哦,为什么指针删除会带来内存泄漏呢??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP