push_front front emplace_back c++ vector stl

front - C++ std:: vector emplace versus inserción



vector emplace_back c++ (2)

Emplace toma los argumentos necesarios para construir un objeto en su lugar, mientras que insert toma (una referencia a) un objeto.

struct Foo { Foo(int n, double x); }; std::vector<Foo> v; v.emplace(someIterator, 42, 3.1416); v.insert(someIterator, Foo(42, 3.1416));

Esta pregunta ya tiene una respuesta aquí:

Me preguntaba cuáles son las diferencias entre los dos. Noto que el emplace es además de c ++ 11. Entonces, ¿por qué la adición?


insert copias de objetos en el vector.

emplace construirlos dentro del vector.