Biblioteca de listas de C ++ - función emplace ()

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

  • position - Posición en la lista donde se insertará el nuevo elemento.

  • args - Argumentos enviados para construir el nuevo elemento.

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