一、介绍
C++的vector也被称为单端数组,它的数据结构与数组非常类似。
一般用于在尾部进行插入和删除的操作。
二、动态扩充
与数组不同,vector可以根据需求动态扩展。这里的动态扩展指的是它的空间大小会随着需求而增长,但并不是在原空间的基础上继续增加,而是:
1. 找到一块新的更大的空间
2. 将原空间的数据拷贝到新空间
3. 释放原空间

三、vector的使用
※ ※ ※ ※ 在使用vector时,需要添加头文件#include <vector> ※ ※ ※ ※
3.1 vector初始化
vector提供几种构造函数,用于初始化。vector是一个泛型类,因此在初始化时候,需要确定自身元素的类型,也就是指定具体的泛型,如下所示:
| 声明 | 解释 |
| vector<T> v; | 默认构造函数,T为模板类型 |
| vector<T>(v.begin(), v.end()); | 将另一个向量的v[begin(), end()]区间拷贝给自身 |
| vector<T>(int n, T elem) | 将n个elem拷贝给自身 |
| vector<T>(const vector &v) | 拷贝构造函数,将v的内容拷贝给自身 |
vector<string> v0;//初始化一个元素类型为string的vector对象 v0
vector<string> v1(v0.begin()+1, v0.end());//用v0的 第二个元素 到 最后一个元素 初始化v1
vector<char> v2(5, 'W');//用5个字符W初始化v2
vector<string> v3(v0);//用v0初始化v3
3.2 vector赋值
vector的赋值通过运算符=和assign函数实现:

最低0.47元/天 解锁文章
4502

被折叠的 条评论
为什么被折叠?



