public member function

std::vector::shrink_to_fit

<vector>
void shrink_to_fit();
Shrink to fit
Requests the container to reduce its capacity to fit its size.

The request is non-binding, and the container implementation is free to optimize otherwise or ignore the request.

Parameters

none

Return value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// vector::shrink_to_fit
#include <iostream>
#include <vector>

int main ()
{
  std::vector<int> myvector (100);
  std::cout << "1. capacity of myvector: " << myvector.capacity() << '\n';

  myvector.resize(10);
  std::cout << "2. capacity of myvector: " << myvector.capacity() << '\n';

  myvector.shrink_to_fit();
  std::cout << "3. capacity of myvector: " << myvector.capacity() << '\n';

  return 0;
}


Possible output:
1. capacity of myvector: 100
2. capacity of myvector: 100
3. capacity of myvector: 10

Complexity

Constant.

Iterator validity

No changes.

Data races

The container is modified.
No contained elements are accessed: concurrently accessing or modifying them is safe.

See also