У меня есть std::set<vector<int>>
, из которого я хотел бы переместить элементы (а не копировать) на std::vector<vector<int>>
. Как мне это сделать?Как эффективно перемещать элементы из набора в вектор?
Я попытался использовать перемещение (которое я использую для перемещения между векторами) с помощью следующего фрагмента кода, но он не будет компилироваться.
#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;
}
Вам следует приложить [MCVE] (http://stackoverflow.com/help/mcve). – tambre
Разве компилятор не дал вам никаких сообщений о том, почему он не компилируется? – user2079303