C++ vector 初始化
有几种初始化的方式,直接扔到代码里看了:
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
//为了方便输出元素,写了个函数
void PrintVectorElements(vector<int> v);
int main()
{
//初始化方式1,没有添加元素,此时size是0,capacity也是0,此时还未分配空间,可用于长度未知的情况。
vector<int> v1;
cout << "v1 size:" << v1.size() << " "
<< "v1 capacity:" << v1.capacity() << endl;
for (int i = 0; i < 10; i++)
{
v1.push_back(i);
}
PrintVectorElements(v1);
//初始化方式2,v2是v1的拷贝,v2和v1必须具有相同的类型,完成后v2拥有与v1相同的长度。下面两种方式是一样的。
vector<int> v2 = v1;
vector<int> v3(v1);
PrintVectorElements(v2);
PrintVectorElements(v3);
//初始化方式3,使用已有容器的指定迭代器范围内的元素进行初始化
vector<int> v4(v1.begin() + 1, v1.begin() + 3);
PrintVectorElements(v4);
//初始化方法4,下面表示的是包含10个元素的容器,且每个元素的值都是0
//或者如第二种10个元素的值均为1
vector<int> v5(10);
vector<int> v6(10, 1);
PrintVectorElements(v5);
PrintVectorElements(v6);
//初始化方法6,直接用中括号里面写元素
vector<int> v7 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
PrintVectorElements(v7);
cin.get();
return 0;
}
void PrintVectorElements(vector<int> v)
{
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << " ";
}
cout << endl;
}

鲁公网安备 37148202000241号