hash_set::emplace_hint
Notes
Cette API est obsolète.L'alternative est unordered_set, classe.
Insère un élément construit en place dans un hash_set.
template<class ValTy>
iterator emplace(
const_iterator _Where,
ValTy&& _Val
);
Paramètres
Paramètre |
Description |
_Val |
La valeur d'un élément à insérer dans hash_set, classe à moins que hash_set comporte déjà cet élément ou, plus généralement, un élément dont la clé est classée de façon équivalente. |
_Where |
Emplacement pour commencer la recherche du point d'insertion correct. (L'insertion peut se produire dans le temps fixe amorti, au lieu du temps logarithmique, si le point d'insertion suit immédiatement _Where.) |
Valeur de retour
La fonction membre d'hash_set::emplace retourne un itérateur qui indique la position à laquelle le nouvel élément a été inséré dans hash_set, ou de l'élément avec le classement équivalent se trouve.
Notes
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.
Dans Visual C++ .NET 2003, les membres des fichiers d'en-tête <hash_map> et de <hash_set> ne sont plus dans l'espace de noms standard, mais ont été plutôt déplacés dans l'espace de noms de stdext. Pour plus d'informations, consultez The stdext Namespace.
Exemple
// hash_set_emplace_hint.cpp
// compile with: /EHsc
#include <hash_set>
#include <iostream>
#include <string>
int main( )
{
using namespace std;
using namespace stdext;
hash_set<string> hs3;
string str1("a");
hs3.insert(hs3.begin(), move(str1));
cout << "After the emplace insertion, hs3 contains "
<< *hs3.begin() << "." << endl;
}
Configuration requise
Header: <hash_set>
Espace de noms : stdext