【发布时间】:2015-04-17 05:06:32
【问题描述】:
按照 C++ 标准 12.8.7:
如果类定义声明了移动构造函数或移动 赋值运算符,隐式声明的复制构造函数是 定义为已删除;
和 12.8.18
如果类定义声明了移动构造函数或移动赋值 运算符,隐式声明的复制赋值运算符被定义 已删除;
我想知道如果我们只定义了复制构造函数或复制赋值运算符?
【问题讨论】:
-
如果声明复制构造函数或复制赋值运算符,则没有“隐式声明的移动构造函数/移动赋值”。
-
@T.C.谢谢,我已经修改了问题。
-
从 Angew 的示例代码来看,我猜主要原因之一是为了向后兼容遗留代码。