public member function
<vector>

std::vector::clear

void clear();
void clear() noexcept;
Clear content
Removes all elements from the vector (which are destroyed), leaving the container with a size of 0.

A reallocation is not guaranteed to happen, and the vector capacity is not guaranteed to change due to calling this function. A typical alternative that forces a reallocation is to use swap:
1
vector<T>().swap(x);   // clear x reallocating 

Parameters

none

Return value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// clearing vectors
#include <iostream>
#include <vector>

int main ()
{
  std::vector<int> myvector;
  myvector.push_back (100);
  myvector.push_back (200);
  myvector.push_back (300);

  std::cout << "myvector contains:";
  for (unsigned i=0; i<myvector.size(); i++)
    std::cout << ' ' << myvector[i];
  std::cout << '\n';

  myvector.clear();
  myvector.push_back (1101);
  myvector.push_back (2202);

  std::cout << "myvector contains:";
  for (unsigned i=0; i<myvector.size(); i++)
    std::cout << ' ' << myvector[i];
  std::cout << '\n';

  return 0;
}

Output:
myvector contains: 100 200 300
myvector contains: 1101 2202


Complexity

Linear in size (destructions).
This may be optimized to constant complexity for trivially-destructible types (such as scalar or PODs), where elements need not be destroyed.

Iterator validity

All iterators, pointers and references related to this container are invalidated.

Data races

The container is modified.
All contained elements are modified.

Exception safety

No-throw guarantee: this member function never throws exceptions.

See also