首页 > 试题广场 >

C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函

[问答题]
C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数?
深拷贝复制对象值的同时,还会为指针成员分配新的内存,并复制指针指向的内容,保证每个对象都由自己的独立的内存空间。
浅拷贝只复制对象的值,不论该对象是基础类型还是指针类型。
class MyClass
{
public:
    MyClass(int val)
    {
        _data = new int(val);
    }
    
    MyClass(const MyClass& other)
    {
        _data = new int(*other._data);
    }
    
    ~MyClass()
    {
        delete _data;
    }
private:
    int* _data;
};


发表于 2025-07-02 22:17:33 回复(0)