代码:
#include <iostream>
#include <vector>
using namespace std;
int main(void)
{
int i = 0;
vector<int> test;
for (int i = 0; i < 5; i++)
{
test.push_back(i + 1);
}
vector<int>::size_type capacity = test.capacity();
cout << capacity << endl;
return 0;
}
代码一开始没有指定vector的大小,当你不断push_back的时候,vector会自动调整capacity,大小是2的指数倍往上翻。size指的是容器内元素的个数,而capacity是指容器的大小。我用的是sgi的stl,这里push了5个元素后,capacity调整成了8。如果push了10个元素,就是16