在这里p1=p2代码不能跑,那应该就是p2调用了析构函数将p2类里的指针p释放掉了。使p1里的p指向了已经被释放了的空间。我想问一问析构函数到底什么时候调用,我之前一直认为是在return 0;前面调用。

c++析构函数什么时候调用问题
在这里p1=p2代码不能跑,那应该就是p2调用了析构函数将p2类里的指针p释放掉了。使p1里的p指向了已经被释放了的空间。我想问一问析构函数到底什么时候调用,我之前一直认为是在return 0;前面调用。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- [PE]经典八炮 2022-08-07 15:03关注
不是你说的那个原因,你应该重载赋值运算符和复制构造函数实现深拷贝,否则就会double delete
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报