关于对象指针数组……的使用和销毁

某鸟 2003-10-20 07:02:49
在删除数组的时候,那个数组元素指向的类对象可以自动被销毁吗???
...全文
233 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
某鸟 2003-10-27
  • 打赏
  • 举报
回复
上个模块改用二维数组了,这次不行了。该用这个了,才运行这些。:(
某鸟 2003-10-27
  • 打赏
  • 举报
回复
各位老大,你们怎么写的??!!

我用了那种写法,vc居然出错了。
这下可把我搞晕了:(

我折腾了好几种写法,终于发现
居然可以这么写:
CMyclass** myclass = new CMyclass*[22];
yizhili 2003-10-22
  • 打赏
  • 举报
回复
啊,delete 时忘了加[]了,疏忽疏忽。应该是 delete [] a;
必要的话再加一句 a = NULL;
编程时忘了可就严重了。
某鸟 2003-10-22
  • 打赏
  • 举报
回复
多谢各位,过几天结帐,忙……
Himmel 2003-10-21
  • 打赏
  • 举报
回复
同意panzhaoping
如果是用new的
最后一定要用delete释放内存空间
数组的话delete [] name
winco 2003-10-20
  • 打赏
  • 举报
回复
myclass **a=new (*myclass)[10]; //定义及初始化
for(int i = 0; i < 10; ++i)
a[i]=new myclass;

......

for(i = 0; i < 10; ++i)
delete a[i]; //删除a[i],会调用析构函数
delete a;         //删除a,并没有析构函数可供调用//同时内存空间并没有释放。占用
--------------------------------------
最好加上
a=NULL;
panzhaoping 2003-10-20
  • 打赏
  • 举报
回复
你用new的是不会的
PriMaryPeople 2003-10-20
  • 打赏
  • 举报
回复
同意 hchinside()
myclass **a=new (*myclass)[10]; //定义及初始化
for(int i = 0; i < 10; ++i)
a[i]=new myclass;

......

for(i = 0; i < 10; ++i)
delete a[i]; //删除a[i],会调用析构函数
delete a;         //删除a,并没有析构函数可供调用//同时内存空间并没有释放。占用了系统资源。这是编程当中很应该注意的一个方面。要小心哟。
Jinhao 2003-10-20
  • 打赏
  • 举报
回复
从我对题意的理解,我想
yizhili(梨子)是正确的
yizhili 2003-10-20
  • 打赏
  • 举报
回复
同意hchinside()

myclass **a=new (*myclass)[10]; //定义及初始化
for(int i = 0; i < 10; ++i)
a[i]=new myclass;

......

for(i = 0; i < 10; ++i)
delete a[i]; //删除a[i],会调用析构函数
delete a;         //删除a,并没有析构函数可供调用
langzi8818 2003-10-20
  • 打赏
  • 举报
回复
应该明白了吧!
如果是类的话,会调用析构函数
Jupin 2003-10-20
  • 打赏
  • 举报
回复
会的
TianGuangZao 2003-10-20
  • 打赏
  • 举报
回复
同意 hchinside()

"在删除数组的时候,那个数组元素指向的类对象可以自动被销毁吗???"
这句话很模糊呀!没看懂。
hchinside 2003-10-20
  • 打赏
  • 举报
回复
如果数组元素也是指针的话,那它所指的东西是不会删除的。
Caoyu015 2003-10-20
  • 打赏
  • 举报
回复
会。
ttlb 2003-10-20
  • 打赏
  • 举报
回复
char *a = new char[10];
delete[] a;

每一个元素都被销毁。如果元素是类,还会自动调用析构函数。
某鸟 2003-10-20
  • 打赏
  • 举报
回复
就是一个指针数组,元素是指向自定义对象的指针。

64,631

社区成员

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

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