Partager via


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

Voir aussi

Référence

hash_set, classe

Bibliothèque STL (Standard Template Library)