功能描述:
减少vector在动态扩展时的扩展次数
函数原型:
reserve(int len);//容器预留len个元素长度,预留位置不初始化,元素不可访问。
示例:
#include<iostream>
using namespace std;
//vector容器 预留空间
#include<vector>
void test01()
{
vector<int>v;
v.reserve(100000);
int* p = NULL;
int num = 0;
for (int i = 0; i < 100000; i++)
{
v.push_back(i);
if (p != &v[0])
{
p = &v[0];
num++;
}
}
cout << "v的容量为:" << v.capacity() << endl;
cout << "v的大小为:" << v.size() << endl;
cout << "总共开辟了:" << num << "次内存" << endl;
}
int main()
{
test01();
return 0;
}
总结:如果数据较大,可以一开始利用reserve预留空间