resize),设置大小;
reserve),设置容量;
resize)是分配容器的内存大小,而reserve)只是设置容器容量大小,但并没有真正分配内存。
resize)可以传递两个参数,分别是大小和初始值,初始值默认为0,reserve)只能传递一个参数,不能设置初始值,其初始值为系统随机生成。
例:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<vector>
using namespace std;
int main)
{
vector<int>m;
vector<int>n;
vector<int>s;
m.resize10);
n.reserve10);
s.resize10, 6);
cout << "m: ";
for int i = 0; i < 10; i++)
{
cout << m[i] << " ";
}
cout << endl;
cout << "n: ";
for int i = 0; i < 10; i++)
{
cout << n[i] << " ";
}
cout << endl;
cout << "s: ";
for int i = 0; i < 10; i++)
{
cout << s[i] << " ";
}
cout << endl;
return 0;
}
输出:
m: 0 0 0 0 0 0 0 0 0 0
n: 12999640 12979904 0 0 0 0 0 0 0 0
s: 6 6 6 6 6 6 6 6 6 6