delete某个类的指针会调用该类的析构函数吗?
答案:3 悬赏:40 手机版
解决时间 2021-04-06 07:21
- 提问者网友:了了无期
- 2021-04-05 22:01
delete某个类的指针会调用该类的析构函数吗?
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-04-05 23:00
会的.如果不调用的话怎么析构一个类.
不过指针所指向的对象必须是在堆中用new关键词开创的
如果指针指向的是一个栈中的对象,会引起调用两种析构函数而导致程序错误
如
class ob
ob a;
ob *p=&a;
delete p;//这样会导致调用两次析构函数.是会引起程序错误的
只有
class ob
ob *p=new ob;
delete p; //这样是正确的
不过指针所指向的对象必须是在堆中用new关键词开创的
如果指针指向的是一个栈中的对象,会引起调用两种析构函数而导致程序错误
如
class ob
ob a;
ob *p=&a;
delete p;//这样会导致调用两次析构函数.是会引起程序错误的
只有
class ob
ob *p=new ob;
delete p; //这样是正确的
全部回答
- 1楼网友:罪歌
- 2021-04-06 00:45
当然会了
- 2楼网友:洎扰庸人
- 2021-04-05 23:24
当类的对象离开了它的作用域或者delete表达式应用到一个类对象的指针上时,析构函数会自动调用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯