返回右值引用的原因

时间:2018-08-30 04:18:15

标签: c++ c++11 forwarding-reference

我看到一个定义如下的类:

class Foo {
 public:
  template <typename T, typename... Args>
  Foo&& addElement(Args&&... args) {       <--- why do we return Foo&&
    elements_.emplace_back(
      std::make_unique<T>(std::forward<Args>(args)...));
    return std::move(*this);
  }

 private:
  std::vector<std::unique_ptr<Bar>> elements_;
};

我想不出返回函数addElement()的任何好的理由。返回右值引用是否有意义,或者这不是一个好主意?如果是这样,这样做的潜在原因是什么?

0 个答案:

没有答案