内容截选自B站黑马C++教程
浅拷贝带来的问题就是堆区的内存重复释放
浅拷贝的问题要用深拷贝来解决
深拷贝重新申请一块内存(当然地址就不一样了),然后把原来要拷贝的数据放到这个新地址的内存空间中。由于堆栈是先进后出,后进先出原则。图上代码中,p2先执行析构代码释放内存,0x0022内存空间被释放,然后p1再执行析构代码,0x0011内存空间被释放。这样通过深拷贝就避免了两次释放同一内存空间所带来的问题(第二次重复释放同一内存空间是非法操作)。
随笔记--深浅拷贝问题
最新推荐文章于 2022-07-05 17:02:00 发布