Espacios de nombres
Variantes

std::unordered_map<Key,T,Hash,KeyEqual,Allocator>::erase

De cppreference.com
 
 
 
 
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
(1)
iterator erase( iterator pos );
(desde C++11)
iterator erase( const_iterator pos );
(desde C++11)
(2)
iterator erase( const_iterator first, const_iterator last );
(desde C++11)
size_type erase( const Key& key );
(3) (desde C++11)
template< class K > size_type erase( K&& x );
(4) (desde C++23)

Borra del contenedor los elementos especificados.

1) Borra el elemento en la posición pos.
2) Borra los elementos en el rango [first; last), que debe ser un rango válido en *this.
3) Borra el elemento (si uno existe) con la clave equivalente a key.
4) Borra el elemento (si uno existe) con la clave que se compara equivalente al valor x. Esta sobrecarga solo participa en la resolución de sobrecargas si Hash::is_transparent y KeyEqual::is_transparent son válidos y cada uno denota un tipo, y ni iterator ni const_iterator son convertibles implícitamente de K. Esto supone que tal Hash es invocable con el tipo K y Key, y que el KeyEqual es transparente, lo que, en conjunto, permite llamar a esta función sin construir un ejemplar de Key.

Se invalidan las referencias y los iteradores a los elementos eliminados. No se invalidan otras referencias e iteradores.

El iterador pos debe ser válido y desreferenciable. Es por esto que el iterador end() (que es válido, pero no es desreferenciable) no puede usarse como un valor para pos.

Se conserva el orden de los elementos que no se borran (esto hace posible borrar elementos individuales mientras se itera a través del contenedor).