vector的resize方法:void resize(size_type _Newsize, const value_type& _Val)
它并不会改变之前的数组,第一个参数会改变这个数组的长度,第二个参数并不会改变数组之前的值,只会为数组的新增的长度赋值。
实验代码如下:
#include <iostream>
#include <vector>
using namespace std;
struct squareXY
{
int x;
int y;
};
int main()
{
squareXY rexy = { 1,2 };
// cout << rexy.y << endl;
squareXY xy = { 3,4 };
vector<squareXY> s(10,xy); //
cout << "resize()之前的数组" << endl;
for (int i = 0; i < s.size(); i++)
{
cout << s[i].x << "------" << s[i].y << endl;
}
// vector<squareXY> res(10, rexy);
s.resize(20,rexy);
cout << "resize()之后的数组" << endl;
for (int i = 0; i < s.size(); i++)
{
cout <<i<<":"<< s[i].x << "------" << s[i].y << endl;
}
system("pause");
return 1;
}
结果如下: