我有一个std::set<vector<int>>
,我希望将其移动(不复制)到std::vector<vector<int>>
。我该怎么做?
我尝试使用move(我用来在向量之间移动)和下面的代码但是它不会编译。
#include<iostream>
#include<set>
#include<vector>
using namespace std;
int main(){
set<vector<int>> res;
vector<int> first = {1,2,3};
vector<int> second = {4,5,6};
res.insert(first);
res.insert(second);
vector<vector<int>> ans;
for(auto i : res){
ans.emplace_back(ans.end(),move(i));
}
return 0;
}
答案 0 :(得分:1)
set<T>
不包含T
个;它包含const T
个。因此,无法简单地将对象移出它。