Compartilhar via


unordered_multimap::insert

Insere um elemento ou um intervalo de elementos em um 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

Descrição

Val

O valor de um elemento a ser inserido em unordered_multimap.

Where

O local a partir do qual se começa a procurar pelo ponto de inserção correto.

ValTy

O parâmetro de modelo que especifica o tipo de argumento que unordered_multimap pode usar para construir um elemento de value_type e aperfeiçoar/encaminhar Val como argumento.

First

A posição do primeiro elemento a ser copiado.

Last

A posição imediatamente após o último elemento a ser copiado.

InputIterator

Argumento da função de modelo que atende aos requisitos de um iterador de entrada que aponta para elementos de um tipo que pode ser usado para construir objetos value_type.

IList

A initializer_list da qual os elementos serão copiados.

Valor de retorno

As funções do membro de inserir elemento único, (1) e (2), retornam um iterador para a posição em que o novo elemento foi inserido no unordered_multimap.

As funções do membro de inserir elemento único, (3) e (4), retornam um iterador para a posição em que o novo elemento foi inserido no unordered_multimap.

Comentários

Nenhum ponteiro ou referência é invalidado por esta função, mas ela pode invalidar todos os iteradores para o contêiner.

Durante a inserção de apenas um elemento, se uma exceção for lançada, mas não ocorrer na função hash do contêiner, o estado do contêiner não é modificado. Se a exceção for lançada na função hash, o resultado é indefinido. Durante a inserção de vários elementos, se uma exceção for lançada, o contêiner será deixado em um estado não especificado, mas válido.

O value_type de um contêiner é um typedef que pertence ao contêiner, e para o mapa, map<K, V>::value_type é pair<const K, V>. O valor de um elemento é um par ordenado no qual o primeiro componente é igual ao valor chave e o segundo componente é igual ao valor dos dados do elemento.

A função do membro de intervalo (5) insere a sequência de valores de elemento em um unordered_multimap que corresponde a cada elemento tratado por um iterador no intervalo[First, Last); portanto, Last não é inserido. A função de membro do contêiner end() refere-se à posição logo após o último elemento no contêiner, por exemplo, a instrução m.insert(v.begin(), v.end()); insere todos os elementos de v em m.

A função do membro da lista do inicializador (6) usa um initializer_list para copiar elementos no unordered_multimap.

Para inserir um elemento construído no lugar (ou seja, sem a realização de operação de cópia ou movimentação), consulte unordered_multimap::emplace e unordered_multimap::emplace_hint.

Para obter um exemplo de código, consulte multiset::insert.

Requisitos

Cabeçalho: <unordered_map>

Namespace: std

Consulte também

Referência

<unordered_map>

Classe unordered_multimap

Biblioteca de Modelos Padrão