hash_map::emplace_hint
Observação |
---|
este API é obsoleto.Uma alternativa é unordered_map Class. |
Insere um elemento construída no lugar de um hash_map, com uma dica de posicionamento.
template<class ValTy>
iterator emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
Parâmetros
Parâmetro |
Descrição |
_Val |
O valor usado para mover um elemento a compilação a ser inserido em hash_map Class a menos que hash_map já contém esse elemento (ou, mais geralmente, um elemento cuja chave é ordenada equivalente). |
_Where |
Uma dica sobre o local para iniciar a pesquisa pelo ponto correto de inserção. |
Valor de retorno
A função de membro de hash_multimap::emplace retorna um iterador que aponta para a posição onde o novo elemento ser inserido em hash_map, ou onde o elemento existente com a ordem de equivalente está localizado.
Comentários
hash_map::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.
Inserção pode ocorrer em tempo amortizados constantes, em vez de tempo logarítmicas se, o ponto de inserção imediatamente seguinte _Where.
São iniciando com o Visual C++ .NET 2003, os membros de <hash_map> e os arquivos de cabeçalho de <hash_set> não no namespace de STD, mas tenham sido portados em vez de stdext no namespace.Consulte O namespace de stdext para mais informações.
Exemplo
// hash_map_emplace_hint.cpp
// compile with: /EHsc
#include<hash_map>
#include<iostream>
#include <string>
int main()
{
using namespace std;
using namespace stdext;
hash_map<int, string> hm1;
typedef pair<int, string> is1(1, "a");
hm1.emplace(hm1.begin(), move(is1));
cout << "After the emplace, hm1 contains:" << endl
<< " " << hm1.begin()->first
<< " => " << hm1.begin()->second
<< endl;
}
Requisitos
Cabeçalho: <hash_map>
stdext denamespace: