hash_set::emplace_hint
[!NOTA]
Esta API está obsoleta.La alternativa es unordered_set Class.
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 |
El valor de un elemento en hash_set Class a menos que hash_set ya contiene ese elemento o, más general, un elemento cuya clave equivalente se ordena. |
_Where |
El lugar para iniciar buscar el punto correcto de la inserción.(Inserción puede aparecer en tiempo constante amortizado, en lugar de tiempo logarítmico, si el punto de inserción inmediatamente sigue _Where.) |
Valor devuelto
La función miembro 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, pero se han movido bastante 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>
Stdext deEspacio de nombres: