如何将`std :: vector`成员变量移动到方法的调用者?

时间:2015-08-07 15:01:27

标签: c++ c++11 move

请考虑以下代码

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>&&

1 个答案:

答案 0 :(得分:5)

return std::move(m_v)就足够了。