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

Descripción

La función C ++ std::multimap::emplace_hint() inserta un nuevo elemento en un multimapa usando hint como posición para el elemento.

Declaración

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

C ++ 11

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

Parámetros

  • position - Sugerencia para la posición para insertar elemento.

  • args - Argumentos enviados para construir el nuevo 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_hint ().

#include <iostream>
#include <map>

using namespace std;

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

   m.emplace_hint(m.begin(), 'a', 1);
   m.emplace_hint(m.end(), 'e', 5);

   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
b = 2
c = 3
d = 4
e = 5