Namespaces
Variants

std::basic_string<CharT,Traits,Allocator>:: clear

From cppreference.net
std::basic_string
void clear ( ) ;
(noexcept desde C++11)
(constexpr desde C++20)

Elimina todos los caracteres de la cadena como si se ejecutara erase ( begin ( ) , end ( ) ) .

Todos los punteros, referencias e iteradores quedan invalidados.

Contenidos

Parámetros

(ninguno)

Valor de retorno

(ninguno)

Notas

A diferencia de std::vector::clear , el estándar de C++ no requiere explícitamente que la capacity permanezca inalterada por esta función, pero las implementaciones existentes no modifican la capacidad. Esto significa que no liberan la memoria asignada (consulte también shrink_to_fit ).

Complejidad

Lineal en el tamaño de la cadena, aunque las implementaciones existentes operan en tiempo constante.

Ejemplo

#include <cassert>
#include <iostream>
#include <string>
int main()
{
    std::string s{"Exemplar"};
    std::string::size_type const capacity = s.capacity();
    s.clear();
    assert(s.empty());
    assert(s.size() == 0);
    std::cout << std::boolalpha << (s.capacity() == capacity) << '\n';
}

Salida posible:

true

Véase también

elimina caracteres
(función miembro pública)