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

Descripción

La función C ++ std::multimap::emplace() extiende el contenedor insertando un nuevo elemento.

Esta función miembro aumenta el tamaño de multimapa en uno.

Declaración

A continuación se muestra la declaración de la función std :: multimap :: emplace () del encabezado std :: map.

C ++ 11

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

Parámetros

args - argumentos para reenviar al constructor del elemento.

Valor devuelto

Devuelve un iterador al elemento recién insertado.

Excepciones

No hay efecto en el contenedor si se lanza una excepción.

Complejidad del tiempo

Logarítmico, es decir, O (log n)

Ejemplo

El siguiente ejemplo muestra el uso de la función 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

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