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

0xb*_*00d 4 c++ move c++11

请考虑以下代码

class A
{
public:
    A(std::size_t d)
        : m_v(d)

    std::vector<double> operator()() {
        return m_v;
    }

private:
    std::vector<double> m_v;
};
Run Code Online (Sandbox Code Playgroud)

我想转移 m_v到调用者operator()而不是复制它.我需要做什么?只需编写return std::move(m_v)并将返回类型更改为std::vector<double>&&

Vla*_*cow 5

这就足够了return std::move(m_v).