Supongo que esta es una pregunta simple. Necesito hacer algo como esto:std :: back_inserter for a std :: set?
std::set<int> s1, s2;
s1 = getAnExcitingSet();
std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor());
Por supuesto, std::back_inserter
no funciona ya que no hay push_back
. std::inserter
también necesita un iterador? No he usado std::inserter
, así que no estoy seguro de qué hacer.
¿Alguien tiene una idea?
Por supuesto, mi otra opción es usar un vector para
s2
, y luego simplemente ordenarlo más tarde. Tal vez eso es mejor?
Funciona para std :: map también (me salvó el tiempo, gracias). – FreeNickname
Dado que 'inserter (vec, vec.end())' también funciona para vectores, ¿por qué alguien usa back_inserter en primer lugar? – NHDaly
@NHDaly: porque back_inserter es más rápido – marton78