delete的问题

阿尔博特 2011-12-23 09:19:50
在C++中定义一个结构体A,然后在定义一个A类型的数组,那么该怎么释放该数组的内存?是不是要重装delete []?
...全文
117 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
追求执着 2011-12-23
  • 打赏
  • 举报
回复
未使用new ,就不用delete删除..
qscool1987 2011-12-23
  • 打赏
  • 举报
回复
1.先看你这个数组怎么分配的
2.再看你结构体的析构函数怎么写的
LoveIOS 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
  • 打赏
  • 举报
回复
delete[] 会进每个数组成员的析构函数呢
njustbxh 2011-12-23
  • 打赏
  • 举报
回复
一般来说动态申请的只要delete[]就可以了,如果结构体里有志向动态分配的内存的指针,那么要重载
turing-complete 2011-12-23
  • 打赏
  • 举报
回复
不需要,当成基本类型的数组即可,关键就在你的析构函数上了。
lintyfeng1 2011-12-23
  • 打赏
  • 举报
回复
如果是动态申请的,就是在堆中的,应该就要删除
ouyh12345 2011-12-23
  • 打赏
  • 举报
回复
栈的话,退栈时,自动销毁的
七擒关羽 2011-12-23
  • 打赏
  • 举报
回复
看数组内存放的内容,一般的不用,分配在栽中,自动释放,如果存放内存首地址、系统资源等需要释放操作
direction917 2011-12-23
  • 打赏
  • 举报
回复
new的东西要delete , 局部变量是会被自动delete掉的。
数组需要delete【】。
screwzm 2011-12-23
  • 打赏
  • 举报
回复
new的资源才需要delete,new和delete配套使用!
一介丶草民 2011-12-23
  • 打赏
  • 举报
回复
就当他是个普通数组,用new了就delete[] , 如果没有,就不用管他,他自己会释放的。
昨夜无风 2011-12-23
  • 打赏
  • 举报
回复
反正你new了以后,delete[]总不会错的

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧