为了账号安全,请及时绑定邮箱和手机立即绑定

为什么结束调用test3()时,没有调用析构函数,将临时变量p析构???

结束调用test3(&p)时

应该会销毁在栈上的p

为什么没有调用析构函数~Person()打印信息???

正在回答

2 回答

因为P是一个指针,并没有分配动态内存,所以不需要delete。test3结束之后,P就相当于一个变量被回收内存了

0 回复 有任何疑惑可以回复我~

test3调用的是栈上的Person,栈上的实例化对象不需要delete,只有在程序全部结束时才会自动释放内存,调用析构函数。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之继承篇
  • 参与学习       75188    人
  • 解答问题       251    个

继承,C++面向对象三大特征之一,通过编码实践方式讲解到操作层面

进入课程

为什么结束调用test3()时,没有调用析构函数,将临时变量p析构???

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号