|
|
|
void clear(); | (noexcept since C++11) (constexpr since C++20) | |
Removes all characters from the string as if by executingerase(begin(), end()).
All pointers, references, and iterators are invalidated.
Contents |
(none)
(none)
Unlike forstd::vector::clear, the C++ standard does not explicitly require thatcapacity is unchanged by this function, but existing implementations do not change capacity. This means that they do not release the allocated memory (see alsoshrink_to_fit).
Linear in the size of the string, although existing implementations operate in constant time.
#include <cassert>#include <iostream>#include <string> int main(){std::string s{"Exemplar"}; std::string::size_typeconst capacity= s.capacity(); s.clear();assert(s.empty());assert(s.size()==0);std::cout<<std::boolalpha<<(s.capacity()== capacity)<<'\n';}
Possible output:
true
removes characters (public member function)[edit] |