unordered_map::emplace
Inserta un elemento construido en contexto (no se realiza ninguna operación de copia o de movimiento) en un unordered_map.
template<class... Args>
pair<iterator, bool> emplace(
Args&&... args);
Parámetros
Parámetro |
Descripción |
args |
Argumentos reenviados para construir un elemento que se va a insertar en el unordered_map, a menos que ya contenga un elemento cuyo valor esté ordenado de forma equivalente. |
Valor devuelto
pair cuyo componente bool devuelve true si se realizó una inserción y false si el unordered_map ya contenía un elemento cuya clave tenía un valor equivalente en la ordenación, y cuyo componente de iterador devuelve la dirección donde se ha insertado un nuevo elemento o donde ya estaba el elemento.
Para tener acceso al componente de iterador de un par pr devuelto por esta función miembro, utilice pr.first y, para desreferenciarlo, utilice *(pr.first). Para tener acceso al componente bool de un par pr devuelto por esta función miembro, utilice pr.second.
Comentarios
Esta función no invalida ningún iterador ni ninguna referencia.
Durante la inserción, si se produce una excepción pero no ocurre en la función hash del contenedor, el contenedor no se modifica. Si la excepción se produce en la función hash, el resultado es indefinido.
Para obtener un ejemplo de código, vea map::emplace.
Requisitos
Encabezado: <unordered_map>
Espacio de nombres: std