Partilhar via


hash_map::emplace

ObservaçãoObservação

este API é obsoleto.Uma alternativa é unordered_map Class.

Insere um elemento construída no lugar de um hash_map.

template<class ValTy>
    pair <iterator, bool> emplace(
        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).

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 hash_map 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, e desreferenciar-lo, use *(pr.second).

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.

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.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(move(is1));
    cout << "After the emplace insertion, hm1 contains:" << endl
      << " " << hm1.begin()->first
      << " => " << hm1.begin()->second
      << endl;
}
  

Requisitos

Cabeçalho: <hash_map>

stdext denamespace:

Consulte também

Referência

hash_map Class

Standard Template Library