std::unordered_set<Key,Hash,KeyEqual,Allocator>::clear
De cppreference.com
< cpp | container | unordered set
void clear()noexcept; | (desde C++11) | |
Borra todos los elementos del contenedor. Después de esta llamada, size() devuelve cero.
Invalida cualquier referencia, puntero o iterador que se refiera a los elementos contenidos. También puede invalidar iteradores después del final.
Contenido |
[editar]Parámetros
(Ninguno)
[editar]Valor de retorno
(Ninguno)
[editar]Complejidad
Lineal con respecto al tamaño del contenedor; es decir, al número de elementos.
[editar]Ejemplo
Ejecuta este código
#include <algorithm>#include <iostream>#include <...> int main(){std::unordered_set<int> container{1, 2, 3}; auto print =[](constint& n){std::cout<<" "<< n;}; std::cout<<"Antes de clear:";std::for_each(container.begin(), container.end(), print);std::cout<<"\nSize="<< container.size()<<'\n'; std::cout<<"Clear\n"; container.clear(); std::cout<<"Posterior a clear:";std::for_each(container.begin(), container.end(), print);std::cout<<"\nSize="<< container.size()<<'\n';}
Posible salida:
Antes de clear: 1 2 3 Size=3 Clear Posterior a clear: Size=0
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
---|---|---|---|
LWG 2550 | C++11 | Para contenedores asociativos no ordenados, no estaba claro si la complejidad era lineal con respoecto al número de elementos o cubetas. | Se clarificó que es lineal con respecto al número de elementos. |
[editar]Véase también
(C++11) | Borra elementos (función miembro pública) |