Espacios de nombres
Variantes
Acciones

std::vector<T,Allocator>::clear

De cppreference.com
< cpp‎ | container‎ | vector
 
 
 
 
void clear();
(hasta C++11)
void clear() noexcept;
(desde C++11)
(hasta C++20)
constexpr void clear() noexcept;
(desde C++20)

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. Cualquier iterador después del final también se invalida.  

No cambia la capacidad (capacity()) del iterador vector (nota: la restricción del estándar para los cambios de capacidad se encuentran en la especificación de vector::reserve; véase [1])

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

#include <algorithm>
#include <iostream>
#include <...>
 
int main()
{
    std::vector<int> container{1, 2, 3};
 
    auto print = [](const int& 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';
}

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 2231 C++11 Se omitía equivocadamente la garantía de complejidad en C++11. Se reafirmó la complejidad como lineal.


[editar] Véase también

Borra elementos
(función miembro pública) [editar]