【发布时间】:2021-02-27 14:50:05
【问题描述】:
在Effective Modern C++ item 12中,有一个关于C++11函数的引用限定符的示例代码:
class Widget {
public:
using DataType = std::vector<double>;
…
DataType& data() & // for lvalue Widgets
{ return values; } // return lvalue
DataType data() && // for rvalue Widgets
{ return std::move(values); } // return rvalue
…
private:
DataType values;
};
那么为什么第二个data() 右值引用重载函数返回一个临时对象 DataType而不是一个右值引用 @987654324 @?
【问题讨论】:
标签: c++ rvalue-reference