在这里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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助