深拷贝和浅拷贝有什么区别?

753

深拷贝和浅拷贝有什么区别?

31个回答

0

除了上述所有定义之外,还有一种最常用的深拷贝方式,就是在类的复制构造函数(或重载赋值运算符)中实现。

浅拷贝 --> 当您没有提供复制构造函数时,就会出现浅拷贝。在这种情况下,只有对象被复制,而不是类的所有成员都被复制。

深拷贝 --> 当您决定在类中实现复制构造函数或重载赋值运算符并允许复制类的所有成员时,就会出现深拷贝。

MyClass& MyClass(const MyClass& obj) // copy constructor for MyClass
{
          // write your code, to copy all the members and return the new object
}
MyClass& operator=(const MyClass& obj) // overloading assignment operator,
{
          // write your code, to copy all the members and return the new object
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接