#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
vector<int> c;
cout<<"INITIAL"<<endl;
cout<<"Size="<<c.size()<<endl;
cout<<"Capacity"<<c.capacity()<<endl;
cout<<"AFTER"<<endl;
for(int i=0;i<21;i++)
{
c.push_back(i);
cout<<"Size="<<c.size()<<endl;
cout<<"Capacity="<<c.capacity()<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
上述代码的输出结果为:
INITIAL
Size=0 Capacity=0
AFTER
Size=1 Capacity=1
Size=2 Capacity=2
Size=3 Capacity=4
Size=4 Capacity=4
Size=5 Capacity=8
.......
Size=10 Capacity=16
......
Size=20 Capacity=32
由此可以看出C++中vector内存的分配