Compartir a través de


hash_set::emplace_hint

Nota

Esta API está obsoleta.La alternativa es unordered_set (Clase).

Inserta un elemento construido en el lugar en un hash_set.

template<class ValTy>
    iterator emplace(
        const_iterator _Where,
        ValTy&& _Val
);

Parámetros

Parámetro

Descripción

_Val

Valor de un elemento que se va a insertar en el hash_set (Clase) a menos que hash_set ya contenga ese elemento o, más general, un elemento cuya clave esté ordenada de manera equivalente.

_Where

Lugar donde se va a iniciar la búsqueda del punto de inserción correcto. (La inserción se puede realizar en tiempo constante amortizado, en lugar de en tiempo logarítmico, si el punto de inserción sigue inmediatamente a _Where).

Valor devuelto

La función miembro de hash_set::emplace devuelve un iterador que señale a la posición donde el nuevo elemento se ha insertado en hash_set, o donde el elemento existente por orden de equivalente se encuentra.

Comentarios

Inserción puede aparecer en tiempo constante amortizado, en lugar de tiempo logarítmico, si el punto de inserción inmediatamente sigue _Where.

En Visual C++ .NET 2003, los miembros de los archivos de encabezado <hash_map> y <hash_set> ya no están en el espacio de nombres std, sino que se han movido al espacio de nombres stdext. Vea El espacio de nombres stdext para obtener más información.

Ejemplo

// 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;
}
  

Requisitos

Encabezado: <hash_set>

Espacio de nombres: stdext

Vea también

Referencia

hash_set (Clase)

Biblioteca de plantillas estándar