请考虑以下代码
class A
{
public:
A(std::size_t d)
: m_v(d)
std::vector<double> operator()() {
return m_v;
}
private:
std::vector<double> m_v;
};
我想将 m_v
移动到operator()
的来电者而不是复制它。我需要做什么?只需编写return std::move(m_v)
并将返回类型更改为std::vector<double>&&
?
答案 0 :(得分:5)
写return std::move(m_v)
就足够了。