如何析构指针数组?
答案:3 悬赏:30 手机版
解决时间 2021-03-31 06:49
- 提问者网友:無理詩人
- 2021-03-31 01:21
如何析构指针数组?
最佳答案
- 五星知识达人网友:持酒劝斜阳
- 2021-03-31 02:04
这个先要给结构体指针数组申请内存才能析构释放掉内存:
所以在构造函数中:
Line::Line()
{
for(int i=0;i<10;i++)
p[i]=new Point;//不过这样申请的可能内存上不连续;也可以在私有成员那里定义为:
Point *p,然后在构造函数这里写:p=new Point[10];
}
Line::~Line()
{
for(int i=0;i<10;i++)
delete p[i];//对应上边那个,如果Point *p,p=new Point[10],那只用写 delete []p;
}
所以在构造函数中:
Line::Line()
{
for(int i=0;i<10;i++)
p[i]=new Point;//不过这样申请的可能内存上不连续;也可以在私有成员那里定义为:
Point *p,然后在构造函数这里写:p=new Point[10];
}
Line::~Line()
{
for(int i=0;i<10;i++)
delete p[i];//对应上边那个,如果Point *p,p=new Point[10],那只用写 delete []p;
}
全部回答
- 1楼网友:几近狂妄
- 2021-03-31 03:13
delete [] p;
- 2楼网友:走死在岁月里
- 2021-03-31 02:26
你定义的是指针,并不会触发构造,没构造当然不需要析构了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯