IT评测·应用市场-qidao123.com
标题:
C++深拷贝与浅拷贝
[打印本页]
作者:
张国伟
时间:
2023-4-25 20:30
标题:
C++深拷贝与浅拷贝
浅拷贝的问题
默认提供的拷贝构造就是浅拷贝,如果拷贝的对象中含有成员指针变量指向堆区中的内存空间,那么就会出现两个对象中的成员指针变量指向同一块堆区空间,当方法执行结束后,对象就会被释放,调用析构函数(析构函数中存在释放在堆区开辟的内存空间),就会存在一块内存空间被多次释放的问题。
解决办法
自己写拷贝构造,让拷贝构造后的对象中的成员指针变量指向一块新的内存空间。
[code]//// Created by Administrator on 2023/4/25.//#include using namespace std;// 深拷贝和浅拷贝class Person {public: int p_age; int *p_weight; Person() { cout
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4