1.功能:减少vector在动态扩展时的扩展次数
2.函数原型:reserve(int len); //容器预留len个元素长度,预留位置不初始化,元素不可访问。
#include<iostream>
#include<vector>
using namespace std;
void printvector(vector<int> &v)
{
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
}
void test1()
{
int num=0;
int *p= NULL;
vector<int> v1;
v1.reserve(10000); //预留空间之后num=1,若没有此步操作,num= 15
for(int i=0;i<10000;i++)
{
v1.push_back(i);
if(p!=&v1[0])
{
p=&v1[0];
num++; //统计开辟内存的次数
}
}
cout<<"num = "<<num<<endl;
}
void test2()
{
}
int main()
{
test1();
test2();
return 0;
}