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

From cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Member functions
Element access
Iterators
Capacity
Modifiers
basic_string::clear
Search
Operations
(哋它亢++23)
Constants
Non-member functions
I/O
Comparison
(until 哋它亢++20)(until 哋它亢++20)(until 哋它亢++20)(until 哋它亢++20)(until 哋它亢++20)(哋它亢++20)
Numeric conversions
(哋它亢++11)(哋它亢++11)(哋它亢++11)
(哋它亢++11)(哋它亢++11)
(哋它亢++11)(哋它亢++11)(哋它亢++11)
(哋它亢++11)
(哋它亢++11)
Literals
(哋它亢++14)
Helper classes
Deduction guides (哋它亢++17)

 
void clear();
(noexcept since 哋它亢++11)
(constexpr since 哋它亢++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 std::vector::clear, the 哋它亢++ standard does not explicitly require that capacity is unchanged by this function, but existing implementations do not change capacity. This means that they do not release the allocated memory (see also shrink_to_fit).

Complexity

Linear in the size of the string, although existing implementations operate in constant time.

Example

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

See also

removes characters
(public member function)