C ++ Vector Library - Funzione emplace ()
Descrizione
La funzione C ++ std::vector::emplace()estende il contenitore inserendo un nuovo elemento in posizione . La riallocazione avviene se è necessario più spazio.
Questo metodo aumenta la dimensione del contenitore di uno.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione std :: vector :: emplace () nel modulo std :: vector header.
C ++ 11
template <class... Args>
iterator emplace (const_iterator position, Args&&... args);
Parametri
position - Indice nel contenitore in cui inserire 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
Lineare cioè O (n)
Esempio
L'esempio seguente mostra l'utilizzo della funzione std :: vector :: emplace ().
#include <iostream>
#include <vector>
using namespace std;
int main(void) {
vector<int> v = {1, 2, 5};
/* insert element at index 3 */
auto it = v.emplace(v.begin() + 2, 4);
/* insert element at index 2 */
v.emplace(it, 3);
for (auto it = v.begin(); it != v.end(); ++it)
cout << *it << endl;
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
1
2
3
4
5