【发布时间】:2018-01-11 02:07:14
【问题描述】:
我有这样的代码:
class MyClass {
public:
MyClass(std::vector &vec):
v(vec)
{}
MyClass(??);
private:
std::vector v;
};
我想像这样MyClass(std::move(some_vector))构造我的班级
我怎样才能做到这一点?
我可以将 4 行更改为 v(std::move(vec)),但由于危险,这是隐藏的举动。
编辑: 示例
int main {
std::vector<int> v = {1, 2}
MyClass myobj(v); // this should be disallowed
//MyClass myobj(std::move(v)) //this should be the only way
//here v is empty
}
【问题讨论】:
标签: c++ c++11 std move stdvector