Je suppose que c'est une question simple. Je dois faire quelque chose comme ceci:std :: back_inserter pour un ensemble std ::?
std::set<int> s1, s2;
s1 = getAnExcitingSet();
std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor());
Bien sûr, std::back_inserter
ne fonctionne pas car il n'y a pas push_back
. std::inserter
a aussi besoin d'un itérateur? Je n'ai pas utilisé std::inserter
donc je ne sais pas quoi faire.
Est-ce que quelqu'un a une idée?
Bien sûr, mon autre option consiste à utiliser un vecteur pour
s2
, puis de le trier plus tard. Peut-être que c'est mieux?
Fonctionne aussi pour std :: map (vous avez économisé mon temps, merci). – FreeNickname
Puisque 'inserter (vec, vec.end())' fonctionne aussi pour les vecteurs, pourquoi quelqu'un utilise-t-il back_inserter en premier lieu? – NHDaly
@NHDaly: parce que back_inserter est plus rapide – marton78