Compartir a través de


unordered_multimap::insert

agrega elementos.

iterator insert(const value_type& val);
iterator insert(iterator where, const value_type& val);
template<class InIt>
    void insert(InIt first, InIt last);
template<class ValTy>
    iterator insert(ValTy&& val);
template<class ValTy>
    iterator insert(const_iterator where, ValTy&& val);

Parámetros

Parámetro

Descripción

InIt

El tipo del iterador.

ValTy

El tipo de contexto del argumento del constructor.

First

Inicio del intervalo que se va a insertar.

Last

Final del intervalo que se va a insertar.

Val

Valor que se va a insertar.

Where

Donde en el contenedor insertar (sugerencia sólo).

Comentarios

El primer miembro que la función inserta el elemento val en la secuencia controlada, después devuelve el iterador que designa el elemento insertado.La segunda función miembro devuelve insert(val), mediante where como punto inicial dentro de la secuencia controlada para buscar el punto de inserción.(Inserción puede aparecer posiblemente algo más rápidamente, si el punto de inserción inmediatamente precede o siga where.)

La tercera función miembro inserta la secuencia de valores de elementos, para cada where en el intervalo [first, last), llamando a insert(*where).

Las dos últimas funciones miembro se comportan igual que los dos primeros, salvo que val se utiliza para construir el valor insertado.

Si se produce una excepción durante la inserción de un único elemento, el contenedor permanece inalterado y la excepción se reinician.Si se produce una excepción durante la inserción de varios elementos, el contenedor se permite en un estable pero su estado no especificada y la excepción se reinician.

Ejemplo

// std_tr1__unordered_map__unordered_multimap_insert.cpp 
// compile with: /EHsc 
#include <unordered_map> 
#include <iostream> 
#include <string>
 
typedef std::unordered_multimap<char, int> Mymap; 
int main() 
    { 
    Mymap c1; 
 
    c1.insert(Mymap::value_type('a', 1)); 
    c1.insert(Mymap::value_type('b', 2)); 
    c1.insert(Mymap::value_type('c', 3)); 
 
// display contents " [c 3] [b 2] [a 1]" 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
// insert with hint and reinspect 
    Mymap::iterator it2 = c1.insert(c1.begin(), Mymap::value_type('d', 4)); 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
// insert range and inspect 
    Mymap c2; 
 
    c2.insert(c1.begin(), c1.end()); 
    for (Mymap::const_iterator it = c2.begin(); 
        it != c2.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
// insert new and duplicate, and reinspect 
    c1.insert(Mymap::value_type('e', 5)); 
    c1.insert(Mymap::value_type('a', 6)); 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 

// The templatized versions move constructing elements
    unordered_multimap<int, string> c3, c4;
    pair<int, string> is1(1, "a"), is2(2, "b");

    c3.insert(move(is1));
    cout << "After the move insertion, c3 contains:" << endl
      << " " << c3.begin()->first
      << " => " << c3.begin()->second
      << endl;

    c4.insert(c4.begin(), move(is2));
    cout << "After the move insertion, c4 contains:" << endl
      << " " << c4.begin()->first
      << " => " << c4.begin()->second
      << endl;
 
    return (0); 
    } 
 
  

Requisitos

encabezado: <unordered_map>

espacio de nombres: std

Vea también

Referencia

<unordered_map>

unordered_multimap Class

Otros recursos

miembros de <unordered_map>