Libreria mappe C ++ - funzione emplace ()
Descrizione
La funzione C ++ std::map::emplace() estende il contenitore inserendo un nuovo elemento.
L'inserimento avviene solo e solo se la chiave non è già presente.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione std :: map :: emplace () nel modulo std :: map header.
C ++ 11
template <class... Args>
pair<iterator,bool> emplace (Args&&... args);
Parametri
args - argomenti da inoltrare al costruttore dell'elemento.
Valore di ritorno
Restituisce una coppia composta da bool per indicare se l'inserimento è avvenuto o meno e restituisce un iteratore all'elemento appena inserito.
Eccezioni
Se viene generata un'eccezione da qualsiasi operazione, questa funzione non ha effetto.
Complessità temporale
Logaritmico cioè log (n)
Esempio
L'esempio seguente mostra l'utilizzo della funzione std :: map :: emplace ().
#include <iostream>
#include <map>
using namespace std;
int main(void) {
/* Initializer_list constructor */
map<char, int> m;
m.emplace('a', 1);
m.emplace('b', 2);
m.emplace('c', 3);
m.emplace('d', 4);
m.emplace('e', 5);
cout << "Map contains following elements in reverse order" << endl;
for (auto it = m.begin(); it != m.end(); ++it)
cout << it->first << " = " << it->second << endl;
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
Map contains following elements in reverse order
a = 1
b = 2
c = 3
d = 4
e = 5