multimap::emplace
Insere um elemento construído no lugar (nenhuma operação de cópia ou movimentação é executada).
template<class... Args>
iterator emplace(
Args&&... args);
Parâmetros
Parâmetro |
Descrição |
args |
Os argumentos encaminhados para construir um elemento a ser inserido em multimap. |
Valor de retorno
Um iterador ao elemento inserido recentemente.
Comentários
Nenhuma referência para os elementos do contêiner for invalidada por essa função, mas pode invalidar todos os iteradores ao contêiner.
Se uma exceção é lançada durante a inserção, o contêiner está inalterado e a exceção é rethrown.
value_type de um elemento é um par, de forma que o valor de um elemento é um par ordenado com o primeiro componente igual ao valor de chave e o segundo componente igual ao valor de dados do elemento.
Exemplo
// multimap_emplace.cpp
// compile with: /EHsc
#include <map>
#include <string>
#include <iostream>
using namespace std;
template <typename M> void print(const M& m) {
cout << m.size() << " elements: " << endl;
for (const auto& p : m) {
cout << "(" << p.first << "," << p.second << ") ";
}
cout << endl;
}
int main()
{
multimap<string, string> m1;
m1.emplace("Anna", "Accounting");
m1.emplace("Bob", "Accounting");
m1.emplace("Carmine", "Engineering");
cout << "multimap modified, now contains ";
print(m1);
cout << endl;
m1.emplace("Bob", "Engineering");
cout << "multimap modified, now contains ";
print(m1);
cout << endl;
}
Saída
multimap modified, now contains 3 elements:
(Anna,Accounting) (Bob,Accounting) (Carmine,Engineering)
multimap modified, now contains 4 elements:
(Anna,Accounting) (Bob,Accounting) (Bob,Engineering) (Carmine,Engineering)
Requisitos
mapa <deCabeçalho: >
Namespace: std