hash_map::emplace
[!REMARQUE]
Cette API est obsolète.l'alternative est unordered_map Class.
Insère un élément construit en place dans un hash_map.
template<class ValTy>
pair <iterator, bool> emplace(
ValTy&& _Val
);
Paramètres
Paramètre |
Description |
_Val |
La valeur utilisée pour déplacer l'élément d'un élément à insérer dans hash_map Class à moins qu' hash_map contienne déjà cet élément (ou, plus généralement, un élément dont la clé est de façon équivalente ordonnée). |
Valeur de retour
La fonction membre d' emplace retourne une paire de le composant de bool retourne la valeur true si une insertion a été faite et false si hash_map contenait déjà un élément dont la clé a eu une valeur équivalente dans l'ordre, et dont le composant itérateur retourne l'adresse où un nouvel élément a été inséré ou lorsque l'élément a déjà été localisé.
Pour accéder au composant d'itérateur d'une paire pr retourné par cette fonction membre, utilisez pr.first, et le déréférencement, utilisez *(pr.first).Pour accéder au composant d' bool d'une paire pr retourné par cette fonction membre, utilisez pr.second, et le déréférencement, utilisez *(pr.second).
Notes
hash_map::value_type d'un élément sont des paires, afin que la valeur d'un élément soit une paire triée de le premier composant égale à la valeur de la clé et le deuxième composant égale à la valeur de données de l'élément.
Depuis Visual C++ .NET 2003, les membres de <hash_map> et les fichiers d'en-tête de <hash_set> ne sont plus dans l'espace de noms de DST, mais plutôt ont été déplacés dans l'espace de noms de stdext.Pour plus d'informations, consultez The stdext Namespace.
Exemple
// 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;
}
Configuration requise
en-tête : <hash_map>
Stdext del'espace de noms :