#include 
#include 
using namespace std;void main(){ vector
 ivec; cout<<"ivec.size() = "<
<
::size_type ix = 0;ix !=24; ++ix) {  ivec.push_back(ix); } cout<<"ivec.size() = "<
<

运行结果:

ivec.size() = 0

ivec.capacity() = 0
---------------------------------
ivec.size() = 24
ivec.capacity() = 32
---------------------------------
ivec.size() = 24
ivec.capacity() = 50
---------------------------------
ivec.size() = 50
ivec.capacity() = 50
---------------------------------
ivec.size() = 51
ivec.capacity() = 100
---------------------------------

 

从最后的结果可以看出:vector的实现采用的策略似乎是在每次需要分配新内存空间时将当前容量翻倍。