功能:
减少vector在动态扩展容量时的使用次数
函数原型:
reserve(int len);//容器预留len个长度
if (p != &v[0])//指针是否指向首地址
{
p = &v[0];
num++;
}
#include<iostream>
using namespace std;
#include<vector>
//预留空间
void test01()
{
vector<int>v;
v.reserve(100000);
int num = 0;//统计开辟新空间次数
int* p = NULL;
for (int i = 0; i < 100000; i++)
{
v.push_back(i);
if (p != &v[0])//指针是否指向首地址
{
p = &v[0];
num++;
}
}
cout << "num= " << num << endl;
}
int main()
{
test01();
system("pause");
return 0;
}