Demonstrating the STL vector capacity : vector capacity « vector « C++ Tutorial






#include <iostream>
#include <cassert>
#include <vector>
using namespace std;

int main()
{
  int N = 10000; // size of vectors

  vector<int> vector1, vector2;

  for (int k = 0; k != N; ++k) {
    vector<int>::size_type cap = vector1.capacity();
    vector1.push_back(k);
    if (vector1.capacity() != cap)
      cout << "k: " << k << ", new capacity: " << vector1.capacity() << endl;
  }

  return 0;
}
k: 0, new capacity: 1
k: 1, new capacity: 2
k: 2, new capacity: 4
k: 4, new capacity: 8
k: 8, new capacity: 16
k: 16, new capacity: 32
k: 32, new capacity: 64
k: 64, new capacity: 128
k: 128, new capacity: 256
k: 256, new capacity: 512
k: 512, new capacity: 1024
k: 1024, new capacity: 2048
k: 2048, new capacity: 4096
k: 4096, new capacity: 8192
k: 8192, new capacity: 16384








16.7.vector capacity
16.7.1.make a big vector and then deallocate all its memory
16.7.2.make a big vector and then minimize its memory
16.7.3.make the vector as large as possible without reallocating
16.7.4.Demonstrating the STL vector capacity
16.7.5.Demonstrating the STL vector capacity and reserve functions