移动语义与深层/浅层复制之间有什么关系?

时间:2018-10-02 10:20:32

标签: c++ move-semantics shallow-copy

如果我们不需要浅表副本,则可以实现自己的副本构造函数。因此,使用复制构造函数和复制赋值运算符来实现深层复制。

移动构造函数和赋值运算符与深层复制和浅层复制的概念有什么样的关系/交互?

我是说对了吗?当我们不想要想要深拷贝而使用浅拷贝(然后转移所有权)时使用了移动构造函数吗?

1 个答案:

答案 0 :(得分:0)

移动构造/分配根本不是逻辑副本。他们正在转让所有权;通常,它们的实现类似于浅表副本(从而提高了性能),但是由于通常会在过程中清空原始对象,因此它根本不是副本。