使用move有效地将(和空)向量传递给对象的构造函数

时间:2016-01-08 17:38:45

标签: c++ vector move

我正在尝试有效地将大向量传递给对象构造函数,然后清空它并最终重用它。我写了这个解决方案:

template<typename T>
struct vect_obj{
    vect_obj(vector<T> &&v) : v(move(v)) {}
    vector<T> v;
};

int main()
{
    vector<int> v(10,1);
    //v.size()=10
    vect_obj<int> v_o (move(v));
    //v.size()=0
    v.push_back(10);
    //v.size()=1
}

但是:

  1. 即使它有效,我也不确定这是一种好的做法/正确方法。
  2. 不确定它是否有效(我之所以使用移动)。

0 个答案:

没有答案