multimap::emplace
Insere um elemento construída no lugar de um multimap.
template<class ValTy>
pair<iterator, bool> emplace(
ValTy&& _Val
);
Parâmetros
Parâmetro |
Descrição |
_Val |
O valor de um elemento a ser inserido em multimap Class a menos que multimap já contém esse elemento ou, mais geralmente, um elemento cuja chave é ordenada equivalente. |
Valor de retorno
A função de membro de emplace retorna um par cujo componente de bool retorna true se uma inserção foi feita e falsa se o mapeamento já continha um elemento cuja chave tem um valor equivalente em ordem, e cujos o componente de iterador retorna o endereço onde um novo elemento foi inseridos ou onde o elemento já foi encontrado.
Para acessar o componente de iterador de um par pr retornado por essa função de membro, use pr.first, e desreferenciar-lo, use *(pr.first).Para acessar o componente de bool de um par pr retornado por essa função de membro, use pr.second.
Comentários
multimap::value_type de um elemento é um par, de modo que o valor de um elemento é um par ordenado com o primeiro componente igual ao valor da chave e o segundo componente igual ao valor de dados do elemento.
Exemplo
// multimap_emplace.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
#include <string>
int main( ) {
using namespace std;
multimap<int, string> m1;
pair<int, string> is1(1, "a");
m1.emplace(move(is1));
cout << "After the emplace insertion, m1 contains:" << endl
<< " " << m1.begin()->first
<< " => " << m1.begin()->second
<< endl;
}
Saída
After the emplace insertion, m1 contains:
1 => a
Requisitos
Cabeçalho: <map>
namespace: STD