参考https://www.cnblogs.com/Nonono-nw/p/3462183.html
一、vector 的初始化:可以有五种方式,举例说明如下
(1) vector<int> a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。 (2)vector<int> a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1 (3)vector<int> a(b); //用b向量来创建a向量,整体复制性赋值(随后当b中值改变,a中的值不改变) (4)vector<int> a(b.begin(),b.begin()+3); //定义了a值为b中第0个到第2个(共3个)元素 (5)int b[7]={1,2,3,4,5,9,8}; vector<int> a(b,b+7); //从数组中获得初值
测试代码:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v1(10,2), v2(8,8), v3(v1), v4(v2),v5(v1.begin(),v1.begin()+4);
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
vector<int> v6(a + 4, a + 6);
for (int i = 0; i < v1.size(); i++){
cout << v1[i];
}
cout << endl;
cout << "----------v1-----------" << endl;
for (int i = 0; i < v2.size(); i++){
cout << v2[i];
}
cout << endl;
cout << "----------v2-----------" << endl;
for (int i = 0; i < v3.size(); i++){
cout << v3[i];
}
cout << endl;
cout << "------v1----v3-----------" << endl;
for (int i = 0; i < v4.size(); i++){
cout << v4[i];
}
cout << endl;
cout << "-------v2----v4----------" << endl;
for (int i = 0; i < v5.size(); i++){
cout << v5[i];
}
cout << endl;
cout << "------v1 0 1 2 3------v5---------" << endl;
for (int i = 0; i < v6.size(); i++){
cout << v6[i];
}
cout << endl;
cout << "--------