hash_map::emplace

[!NOTA]

Esta API está obsoleta.La alternativa es unordered_map Class.

Inserta un elemento construido en el lugar en un hash_map.

template<class ValTy>
    pair <iterator, bool> emplace(
        ValTy&& _Val
);

Parámetros

Parámetro

Descripción

_Val

El valor utilizado para mover la construcción un elemento en hash_map Class a menos que hash_map ya contiene ese elemento (o, más general, un elemento cuya clave equivalente está ordenada).

Valor devuelto

La función miembro emplace devuelve un par cuyo componente bool devuelve true si una inserción fue creada y false si hash_map ya contenía un elemento cuya clave tenía un valor equivalente en orden, y cuyo componente de iterador devuelve la dirección donde un nuevo elemento se ha insertado o donde el elemento se ha adaptado ya.

Para tener acceso al componente de iterador de un par pr devuelto por esta función miembro, utilice pr.first, y desreferenciarlo, utilice *(pr.first).Para tener acceso al componente bool de un par pr devuelto por esta función miembro, utilice pr.second, y desreferenciarlo, utilice *(pr.second).

Comentarios

hash_map::value_type de un elemento es par, de modo que el valor de un elemento es un par petición con el primer componente igual al valor de clave y el segundo componente igual al valor de los datos de elemento.

A partir de Visual C++ .NET 2003, los miembros de los archivos de encabezado <hash_map> y <hash_set> ya no están en el espacio de nombres std, pero se han movido bastante al espacio de nombres stdext.Vea El espacio de nombres stdext para obtener más información.

Ejemplo

// 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

Encabezado: <hash_map>

Stdext deEspacio de nombres:

Vea también

Referencia

hash_map Class

Biblioteca de plantillas estándar