std::unordered_set<Key,Hash,KeyEqual,Allocator>::emplace_hint
template <class... Args> iterator emplace_hint( const_iterator hint, Args&&... args ); |
(desde C++11) | |
Inserta (emplaza) un nuevo elemento en el contenedor, utilizando hint
como una sugerencia de dónde debería ir el elemento. El elemento se construye en el sitio, es decir, no se realizan operaciones de copia o movimiento.
El constructor del elemento se llama con exactamente los mismos argumentos que se suministraron a la función, reenviados con std::forward<Args>(args)....
Si ocurre una redispersión (rehashing) debido a la inserción, se invalidan todos los iteradores. De lo contrario, no se afectan los iteradores. Las referencias no se invalidan. La dispersión vuelve a ocurrir solo si el nuevo número de elementos es mayor que max_load_factor()*bucket_count().
Contenido |
[editar] Parámetros
hint | - | El iterador usado como sugerencia de dónde insertar el nuevo elemento. |
args | - | Los argumentos a reenviar al constructor del elemento. |
[editar] Valor de retorno
Devuelve un iterador al elemento recién insertado.
Si la inserción falló porque el elemento ya existe, devuelve un iterador al elemento ya existente con la clave equivalente.
[editar] Excepciones
Si alguna operación lanza una excepción, esta función no tiene ningún efecto (garantía de excepción fuerte).
[editar] Complejidad
Constante amortizada en promedio; lineal en el tamaño del contenedor en el peor de los casos.
[editar] Ejemplo
Esta sección está incompleta Razón: sin ejemplo |
[editar] Véase también
(C++11) |
Construye el elemento en el sitio. (función miembro pública) |
(C++11) |
Inserta elementos o nodos (desde C++17) (función miembro pública) |