Descripción
La función C ++ std::list::emplace()extiende la lista insertando un nuevo elemento en una posición determinada. Esta función miembro aumenta el tamaño de la lista.
Declaración
A continuación se muestra la declaración de la función std :: list :: emplace () del encabezado std :: list.
C ++ 11
template <class... Args>
iterator emplace (const_iterator position, Args&&... args);
Parámetros
Valor devuelto
Devuelve un iterador de acceso aleatorio que apunta al elemento recién emplazado.
Excepciones
Si la reasignación falla, se lanza la excepción bad_alloc .
Complejidad del tiempo
Constante es decir O (1)
Ejemplo
El siguiente ejemplo muestra el uso de la función std :: list :: emplace ().
#include <iostream>
#include <list>
using namespace std;
int main(void) {
list<int> l = {3, 4, 5};
auto it = l.emplace(l.begin(), 2);
l.emplace(it, 1);
cout << "List contains following element" << endl;
for (auto it = l.begin(); it != l.end(); ++it)
cout << *it << endl;
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
List contains following element in reverse order
1
2
3
4
5