标题:下列结构应该如何使用delete删除
只看楼主
wsw771006
Rank: 2
等 级:论坛游民
帖 子:16
专家分:22
注 册:2007-12-16
结帖率:100%
 问题点数:0 回复次数:4 
下列结构应该如何使用delete删除
int **p;
int *buffer;
p=new int *[m];
for(int i=0;i<m;i++)
{
    buffer = new int[n];
    p[i]=buffer;
}

应该如何使用delete语句来回收内存,我写的如下,但觉得不对:
    for(int i = 0; i < m; i++)
    {
         delete p[i];
    }
     delete p;
搜索更多相关主题的帖子: 如何 
2011-10-28 22:49
鑫乐源
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:27
专家分:150
注 册:2011-10-20
得分:0 
delete [] p;

不要和编译器比智商。
2011-10-28 23:04
wsw771006
Rank: 2
等 级:论坛游民
帖 子:16
专家分:22
注 册:2007-12-16
得分:0 
循环中的删除对吗?我觉得好像有问题:
int **p;
int *buffer;
p=new int *[m];
for(int i=0;i<m;i++)
{
    buffer = new int[n];
    p[i]=buffer;
}

应该如何使用delete语句来回收内存,我写的如下,但觉得不对:
    for(int i = 0; i < m; i++)
    {
         delete p[i];
    }
     delete []p;

[ 本帖最后由 wsw771006 于 2011-10-29 10:37 编辑 ]
2011-10-28 23:10
wsw771006
Rank: 2
等 级:论坛游民
帖 子:16
专家分:22
注 册:2007-12-16
得分:0 
查了资料,循环中应该用delete []p[i];
2011-11-06 21:06
hxcet
Rank: 4
等 级:业余侠客
帖 子:78
专家分:229
注 册:2011-11-15
得分:0 
应该是
程序代码:
for(int i = 0; i < m; i++)
    {
         delete [] p[i];
    }
     delete [] p; 

2011-11-24 12:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353729-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.167513 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved