使用前置:#include<vector>
常用赋值方式
- vector<type>a(size):开辟type类型size大小名字为a的空间,该空间初始值为0
- vector<type>b(size,value):开辟type类型size大小的空间,空间名为b,初始值为value
- vector<type>c(a.begin()+i,a.begin()+j):开辟type类型的j-i大小的空间,空间名为c。要注意的是 c 与 a 的类型要相同,而且VisualStudio在调试时不会检查越界问题,但是在运行时要是越界系统会报错“ cannot seek vector iterator after end ”。
- vector<type>d(type_arr+i,type_arr+j):开辟type类型的j-i大小的空间,空间名为d。当越界时不会报错而是随机赋值。
赋值示例
示例代码
int num = 2;
int ai[2] = { 1,2 };
vector<int>a(3, 1);
cout << "vector<int>a(3, 1):";
for (int i = 0; i < 3; i++)
cout << a[i] << ' ';
cout << endl;
//cin >> num;
cout << "num:" << num << endl;
vector<int>b(num, 1);
cout << "vector<int>b(num, 1):";
for (int i = 0; i < num; i++)
cout << b[i] << ' ';
cout << endl;
vector<int>c(2);
cout << "vector<int>c(2):";
for (int i = 0; i < 2; i++)
cout << c[i] << ' ';
cout << endl;
vector<int>d(c);
cout << "vector<int>d(c):";
for (int i = 0; i < d.size(); i++)
cout << d[i] << ' ';
cout << endl;
vector<int>e(a.begin(),a.begin()+1);
cout << "vector<int>e(a.begin(),a.begin()+1):";
for (int i = 0; i < e.size(); i++)
cout << e[i] << ' ';
cout << endl;
cout << "ai[i]:";
for (int i = 0; i < 2; i++)
cout << ai[i] << ' ';
cout << endl;
vector<int>f(ai, ai + 2);
cout << "vector<int>f(ai, ai + 2):";
for (int i = 0; i < f.size(); i++)
cout << f[i] << ' ';
cout << endl;
cout << "越界赋值:" << endl;
vector<int>f_e(ai, ai + 6);
cout << "vector<int>f_e(ai, ai + 6):";
for (int i = 0; i < f_e.size(); i++)
cout << f_e[i] << ' ';
cout << endl;
未完
本文参考:
vector使用整理
C++中vector使用详细说明 (转)
vector
c++new和vector
更新记录
写于2020年03月20日,仅记录了vector数组的常用初始化方法以及部分参考文献。