【发布时间】:2017-04-19 12:01:39
【问题描述】:
我在这里读过:What are move semantics?,在二级标题下:特殊成员函数,我们应该将复制赋值运算符和移动赋值运算符统一为单个移动\复制赋值运算符的原因,
但是如果我们希望禁止复制或移动呢?在这种情况下,我是否应该在禁止的构造函数上指示“已删除”并实现另一个? (即两者之间的分离)。
如果是这样,正确的做法是什么?
【问题讨论】:
-
只需将它们分开,就像该部分中的前两个代码块一样
-
你指的是
copy-and-swap赋值运算符的成语吗? -
vu1p3nox,是的,我是。
-
那么,您希望您的班级支持哪些操作?这取决于你。
-
此外,显示的“统一”也有取舍。我个人认为这不是一个好主意。
标签: c++ c++11 move-semantics assignment-operator