Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[!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: