From cppreference.com
voidclear();(noexcept since C++11)
(constexpr since C++20)Removes all characters from the string as if by executing erase(begin(),end()).
All pointers, references, and iterators are invalidated.
Parameters
(none)
Return value
(none)
Notes
Unlike for
, the C++ standard does not explicitly require that
is unchanged by this function, but existing implementations do not change capacity. This means that they do not release the allocated memory (see also
).
Complexity
Linear in the size of the string, although existing implementations operate in constant time.
Example
Run this code
#include<cassert>#include<iostream>#include<string>intmain(){std::strings{"Exemplar"};std::string::size_typeconstcapacity=s.capacity();s.clear();assert(s.empty());assert(s.size()==0);std::cout<<std::boolalpha<<(s.capacity()==capacity)<<'\n';}Possible output:
true See also
removes characters
(public member function)