std::basic_string::clear

From cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
void clear();

Removes all characters from the string as if by executing erase(begin(), end()). The allocated memory will not be released, effectively leaving the capacity of the string unchanged.

All pointers, references, and iterators are invalidated.

Parameters

(none)

Return value

(none)

Notes

Unlike for std::vector::clear, the C++ standard does not explicitly require that capacity is unchanged by this function, but existing implementations do not change capacity.

Exceptions

(none) (until C++11)
noexcept specification:  
noexcept
  
(since C++11)

Complexity

Linear in the size of the string.

Example

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


See also

removes characters
(public member function)