Libreria di elenchi C ++ - funzione emplace ()

Descrizione

La funzione C ++ std::list::emplace()estende la lista inserendo un nuovo elemento in una data posizione. Questa funzione membro aumenta la dimensione dell'elenco.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: list :: emplace () nel modulo std :: list header.

C ++ 11

template <class... Args>
iterator emplace (const_iterator position, Args&&... args);

Parametri

  • position - Posizione nell'elenco in cui deve essere inserito il nuovo elemento.

  • args - Argomenti inoltrati per costruire il nuovo elemento.

Valore di ritorno

Restituisce un iteratore ad accesso casuale che punta all'elemento appena posizionato.

Eccezioni

Se la riallocazione fallisce, viene generata l'eccezione bad_alloc .

Complessità temporale

Costante cioè O (1)

Esempio

Il seguente esempio mostra l'utilizzo della funzione 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;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

List contains following element in reverse order
1
2
3
4
5