Libreria mappe C ++ - funzione emplace ()

Descrizione

La funzione C ++ std::multimap::emplace() estende il contenitore inserendo un nuovo elemento.

Questa funzione membro aumenta di uno la dimensione della mappa multipla.

Dichiarazione

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

C ++ 11

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

Parametri

args - argomenti da inoltrare al costruttore dell'elemento.

Valore di ritorno

Restituisce un iteratore all'elemento appena inserito.

Eccezioni

Nessun effetto sul contenitore se viene generata un'eccezione.

Complessità temporale

Logaritmico ie O (log n)

Esempio

L'esempio seguente mostra l'utilizzo della funzione std :: multimap :: emplace ().

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   multimap<char, int> m {
         {'a', 1},
         {'b', 2},
         {'c', 3},
         {'d', 4},
         {'e', 5},
               };

   m.emplace('a', 2);
   m.emplace('b', 2);

   cout << "Multimap contains following elements" << 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:

Multimap contains following elements
a = 1
a = 2
b = 2
b = 2
c = 3
d = 4
e = 5