【发布时间】:2014-08-04 00:12:22
【问题描述】:
我想知道在以下情况下如何编写移动赋值运算符:
class Foo : public vector<int>
{
public:
Foo(Foo&& other) : vector<int>(move(other)) {};
Foo& operator=(Foo&& other){ ????? };
};
效果如何?
谢谢, 汤姆
【问题讨论】:
-
推荐从 STL 继承的特殊情况。这不是一个。
-
派生的类是无关紧要的,除了它应该是可复制和可移动的。
-
你说得对,它是重复的。我想我的问题更短更直接,但它仍然是重复的。
-
Foo& operator = (Foo&&) & = default;
标签: c++ c++11 move-semantics assignment-operator