Compartir a través de


unordered_multimap::insert

Inserta un elemento o un intervalo de elementos en un unordered_multimap.

// (1) single element pair<iterator, bool> insert(     const value_type& Val );   // (2) single element, perfect forwarded template<class ValTy> pair<iterator, bool> insert(     ValTy&& Val );  // (3) single element with hint iterator insert(     const_iterator Where,     const value_type& Val );   // (4) single element, perfect forwarded, with hint template<class ValTy> iterator insert(     const_iterator Where,     ValTy&& Val );  // (5) range  template<class InputIterator>  void insert(     InputIterator First,     InputIterator Last );   // (6) initializer list void insert(     initializer_list<value_type> IList ); 

Parámetros

Parámetro

Descripción

Val

Valor de un elemento que se va a insertar en el unordered_multimap.

Where

Lugar donde se va a iniciar la búsqueda del punto de inserción correcto.

ValTy

Parámetro de plantilla que especifica el tipo de argumento que el unordered_multimap puede utilizar para construir un elemento de value_type y realiza un reenvío directo de Val como argumento.

First

Posición del primer elemento que se va a copiar.

Last

Posición situada más allá del último elemento que se va a copiar.

InputIterator

Argumento de la función de plantilla que cumple los requisitos de un iterador de entrada que apunta a elementos de un tipo que se puede utilizar para crear objetos value_type.

IList

initializer_list de la que se van a copiar los elementos.

Valor devuelto

Las funciones miembro de inserción de un solo elemento, (1) y (2), devuelven un iterador a la posición donde se insertó el nuevo elemento en el unordered_multimap.

Las funciones miembro de inserción de un solo elemento con sugerencia, (3) y (4), devuelven un iterador que apunta a la posición donde se insertó el nuevo elemento en el unordered_multimap.

Comentarios

Esta función no invalida ningún puntero ni ninguna referencia, pero puede invalidar todos los iteradores al contenedor.

Durante la inserción de un solo elemento, si se produce una excepción pero no se realiza en la función hash del contenedor, no se modifica el estado del contenedor. Si la excepción se produce en la función hash, el resultado es indefinido. Durante la inserción de varios elementos, si se produce una excepción, el contenedor se deja en un estado sin especificar pero válido.

El objeto value_type de un contenedor es un typedef que pertenece al contenedor y, para una asignación, map<K, V>::value_type es de tipo pair<const K, V>. El valor de un elemento es un par ordenado en el que el primer componente es igual al valor de clave y el segundo componente es igual al valor de datos del elemento.

La función miembro de intervalo (5) inserta la secuencia de valores de elemento en un unordered_multimap que corresponde a cada elemento direccionado por un iterador en el intervalo [First, Last); por tanto, Last no se inserta. La función miembro de contenedor end() hace referencia a la posición situada justo después del último elemento del contenedor; por ejemplo, la instrucción m.insert(v.begin(), v.end()); inserta todos los elementos de v en m.

La función miembro de lista de inicializadores (6) utiliza una initializer_list para copiar los elementos al unordered_multimap.

Para la inserción de un elemento construido en contexto (es decir, no se realiza ninguna operación de copia o movimiento), vea unordered_multimap::emplace y unordered_multimap::emplace_hint.

Para obtener un ejemplo de código, vea multiset::insert.

Requisitos

Encabezado: <unordered_map>

Espacio de nombres: std

Vea también

Referencia

<unordered_map>

unordered_multimap (Clase)

Biblioteca de plantillas estándar