+ -
当前位置:首页 → 问答吧 → delete的问题

delete的问题

时间:2011-12-23

来源:互联网

在C++中定义一个结构体A,然后在定义一个A类型的数组,那么该怎么释放该数组的内存?是不是要重装delete []?

作者: jackhanzy   发布时间: 2011-12-23

看数组内存放的内容,一般的不用,分配在栽中,自动释放,如果存放内存首地址、系统资源等需要释放操作

作者: studyCBC   发布时间: 2011-12-23

该回复于2011-12-23 09:53:41被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#3楼 得分:0回复于:2011-12-23 09:27:01
栈的话,退栈时,自动销毁的

作者: redzerg   发布时间: 2011-12-23

如果是动态申请的,就是在堆中的,应该就要删除

作者: ouyh12345   发布时间: 2011-12-23

不需要,当成基本类型的数组即可,关键就在你的析构函数上了。

作者: lintyfeng1   发布时间: 2011-12-23

一般来说动态申请的只要delete[]就可以了,如果结构体里有志向动态分配的内存的指针,那么要重载

作者: mougaidong   发布时间: 2011-12-23

delete[] 会进每个数组成员的析构函数呢

作者: njustbxh   发布时间: 2011-12-23

应该不需要,
struct A
{
int a;
int b;
};

A* pA = new A[4];
delete [] pA;
pA = NULL;
delete pA和 delete[] pA区别是前者调用一次,后者调用数组Size次结构体的析构函数,在释放空间

作者: gykgod   发布时间: 2011-12-23

1.先看你这个数组怎么分配的
2.再看你结构体的析构函数怎么写的

作者: LoveIOS   发布时间: 2011-12-23

未使用new ,就不用delete删除..

作者: qscool1987   发布时间: 2011-12-23

反正你new了以后,delete[]总不会错的

作者: kingstar158   发布时间: 2011-12-23

就当他是个普通数组,用new了就delete[] , 如果没有,就不用管他,他自己会释放的。

作者: flydreamGG   发布时间: 2011-12-23

new的资源才需要delete,new和delete配套使用!

作者: zhwei_87   发布时间: 2011-12-23