hash_map::emplace_hint
[!REMARQUE]
Cette API est obsolète.l'alternative est unordered_map Class.
Insère un élément construit en place dans un hash_map, avec un indicateur de positionnement.
template<class ValTy>
iterator emplace_hint(
const_iterator _Where,
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). |
_Where |
Une aide concernant l'emplacement pour commencer à rechercher le point correct d'implémentation. |
Valeur de retour
La fonction membre d' hash_multimap::emplace retourne un itérateur qui indique la position où le nouvel élément a été inséré dans hash_map, ou lorsque l'élément existant avec le classement équivalent est localisé.
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.
L'implémentation peut se produire dans le temps fixe amorti, au lieu du temps logarithmique, si le point d'insertion suit immédiatement _Where.
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_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;
}
Configuration requise
en-tête : <hash_map>
Stdext del'espace de noms :