W3cubDocs

/C++

std::basic_string::clear

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)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/string/basic_string/clear