C++基础之vector容器初探
C++基础之vector容器初探
1、简介
vector 是C++标准库类型中的一个类模板, vector 类模板需要指定需要创建的类型T,并实例化之后才能使用实例化的对象。
2、需要的库和命名空间
使用 vector 需要添加加 vector 库,和 std 命名空间
#include <vector>
using std::vector;
3、定义和初始化 vector 对象
vector<T> v1 // v1是一个空vector,潜在元素是T类型,执行默认初始化 vector<T> v2(v1) // 实例化了一个vector对象v2,并将v1的所以元素赋给v2 vector<T> v2 = v1 // 与上面一行等价 vector<T> v3(n, val) // v3包含了n个重复的元素,每个元素值都是val vector<T> v4 // v4包含了n个重复的执行了值初始化的对象 vector<T> v5{a, b, c...} // v5包含了初始值个数的元素,每个元素被赋予相应的初始值 vector<T> v5 = {a, b, c...} // 与上面一行等价
3.1、列表初始化对象
vector<string> v1{"a", "an"};
3.2、创建指定数量的元素
vector<int> ivec(10, -1); // 10个int类型的元素,每个都被初始化为-1 vector<string> svec(10, "hi"); // 10个string类型的元素,每个都被初始化为”hi“
3.3、列表初始化和指定元素数量的区别
vectot<int> v1(10); // v1有10个元素,每个的值都是0 vector<int> v1{10}; // v2有1个元素,元素的值是10 vector<int> v3(10, 1); // v3有10个元素,每个元素的值都是1 vector<int> v4{10, 1}; // v4有2个元素,值分别是10和1
4、向 vector 对象中添加元素
使用vector的成员函数 push_back 向 vector 对象中添加元素, push_back 负责把一个值当成 vector 对象的尾元素压到 vector 对象的尾部
vector<int> v1 // 创建一个空的vector对象v1 for (int i=0;i<10;i++) { v1.push_back(i); // 从0~9依次将i添加到v1的尾部 }
vector还提供 size() 函数来获取vector对象的元素长度,vector对象也可以向数组一样使用索引/下标来获取元素
5、vector与数组的区别
vector比数组更加灵活,相比数组有两个明显的优点:
1)不需要提前规定数组的长度
2)可以使用size()函数来获取数组的长度
知行合一,
翻万卷书,游千里路,会百家才