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