##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_string::clear

From cppreference.com
< cpp‎ | string‎ | 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.

### [edit] Parameters

(none)

### [edit] Return value

(none)

### [edit] 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.

### [edit] Exceptions

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

### [edit] Complexity

Linear in the size of the string.

### [edit] Example

Run this code

    #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());
    }

### [edit] See also

erase | removes characters (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/string/basic_string/clear&oldid=91343"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template