#include <vector> using namespace std; int main() { vector<int> resizeVect; vector<int> reserveVect; resizeVect.resize(50, 2); //立即分配50个int,每个值为2,默认值为0,如果是class默认构造函数 vector<int>::iterator iter = resizeVect.begin(); printf("out put resizeVect value start "); for(; iter != resizeVect.end(); iter++) { printf("%d ", *iter); } printf(" out put resizeVect value end "); printf("resizeVect capacity %d ", resizeVect.capacity()); printf("resizeVect size %d ", resizeVect.size()); resizeVect.push_back(3); //添加一个值后,超出了capacity,capacity增加一半 printf("resizeVect capacity %d ", resizeVect.capacity()); printf("resizeVect size %d ", resizeVect.size()); printf(" "); reserveVect.reserve(50); //预留capacity为50,但是没有内存,当然也不会有值 iter = reserveVect.begin(); printf("out put resizeVect value start "); for(; iter != reserveVect.end(); iter++) { printf("%d ", *iter); } printf(" out put resizeVect value end "); printf("reserveVect capacity %d ", reserveVect.capacity()); printf("reserveVect size %d ", reserveVect.size()); reserveVect.push_back(3); //添加一个值后,没有超出capacity,capacity保持不变,size+1 printf("reserveVect capacity %d ", reserveVect.capacity()); printf("reserveVect size %d ", reserveVect.size()); system("pause"); return 1; }