std::vector<T,Allocator>::clear

void clear();
(until C++11)
void clear() noexcept;
(since C++11)

Erases all elements from the container. After this call, size() returns zero.

Invalidates any references, pointers, or iterators referring to contained elements. Any past-the-end iterators are also invalidated.

Leaves the capacity() of the vector unchanged (note: the standard's restriction on the changes to capacity is in the specification of vector::reserve, see [1]).

Parameters

(none).

Return value

(none).

Complexity

Linear in the size of the container, i.e., the number of elements.

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 2231 C++11 complexity guarantee was mistakenly omitted in C++11 complexity reaffirmed as linear

See also

erases elements
(public member function)

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