Estoy escribiendo un pequeño fragmento de código donde tendré que insertar valores en un vector C++ STL en un lugar determinado según los valores en los elementos del vector . Estoy usando la función insert()
para lograr esto. Me doy cuenta de que cuando quiero agregar un nuevo elemento al final del vector, simplemente podría usar push_back()
. Pero para que mi código se vea bien, me gustaría utilizar exclusivamente insert()
, que toma como entrada el iterador que apunta al elemento después del punto de inserción deseado y el valor que se va a insertar. Si el valor del iterador pasado como un argumento es v.end()
, donde v
es mi vector, ¿funcionará igual que push_back()
?Usando C++ vector :: insert() para agregar al final del vector
¡Muchas gracias!
Si se encuentra utilizando insertar mucho en un vector, puede estar utilizando una estructura de datos incorrecta. Considere (por ejemplo) usar un deque. Por supuesto, si el vector es pequeño, no habrá problema. –
@Nick: Sí lo hará. Un simple experimento podría haberte dicho eso. –
@Space No veo cómo un experimento podría haberle dicho eso. Si no fuera válido, obtendría UB, en cuyo caso su programa bien podría haber funcionado. –