hash_map::emplace_hint
Notes
Cette API est obsolète.L'alternative est unordered_map, classe.
Insère un élément construit en place dans un hash_map, avec un indicateur de placement.
template<class ValTy>
iterator emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
Paramètres
Paramètre |
Description |
_Val |
Valeur utilisée pour déplacer l'élément dans un élément à insérer dans hash_map, classe sauf si hash_map contient déjà cet élément (ou, plus généralement, un élément dont la clé est de façon equivalente ordonnées). |
_Where |
Un indicateur concernant l'emplacement pour commencer la recherche du point correct d'insertion. |
Valeur de retour
La fonction membre d'hash_multimap::emplace retourne un itérateur qui indique la position à laquelle le nouvel élément a été inséré dans hash_map, ou de l'élément avec le classement équivalent se trouve.
Notes
hash_map::value_type d'un élément est une paire, afin que la valeur d'un élément est une paire ordonnée au premier composant égale à la valeur de clé et le deuxième composant égale à la valeur de l'élément.
L'insertion peut se produire dans le temps fixe amorti, au lieu de l'heure logarithmique, si le point d'insertion suit immédiatement _Where.
À partir de Visual C++ .NET 2003, les membres d'<hash_map> et les fichiers d'en-tête d'<hash_set> ne sont plus de l'espace de noms standard, mais plutôt ont été entré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>
Espace de noms : stdext