头文件<vector>
单端,动态
Vector是动态空间,随着元素的加入,它的内部机制会自动扩充空间以容纳新元素。
vector容量管理:超出部分并不是在原有空间后追加,(因为无法保证原空间之后尚有可配置的空间),而是申请更大的空间,然后将原数据拷贝新空间,并释放原空间。所以一旦引起空间的重新配置,指向原vector的所有迭代器就都失效了(既是指针失效).
vector构造
| 方法 | 描述 |
|---|---|
| vector v; | 默认构造函数 |
| vector(v.begin(), v.end()); | 将v[begin(), end())区间中的元素拷贝给本身。 |
| vector(n, elem); | 构造函数将n个elem拷贝给本身。 |
| vector(const vector &vec); | 拷贝构造函数。 |
| 方法 | 描述 |
|---|---|
| assign(beg, end); | 拷贝[beg, end)并赋值 |
| assign(n, elem); | n个elem |
| vector& operator=(const vector &vec); | 重载等号操作符 |
| swap(vec); | 收缩vector的容量,至size大小 |
| size(); | 元素个数 |
| empty(); | 是否为空 |
| resize(int num); | 重新设定容器长度,多余会被删除 |
| resize(int num, elem); | 重新设定容器长度,多余用elem填充 |
| capacity(); | 容器容量 |
| reserve(int len); | 预留len个空间 |
| at(int idx); | 索引,会报异常 |
| operator[]; | 索引,会报错 |
| front(); | 返回第一个元素 |
| back(); | 返回最有一个元素 |
| insert(const_iterator pos, int count,ele); | pos位置插入count个元素ele. |
| push_back(ele); | 尾部插入元素ele |
| pop_back(); | 删除最后一个元素 |
| erase(const_iterator start, const_iterator end); | 删除从start到end之间的元素 |
| erase(const_iterator pos); | 删除指向的元素 |
| clear(); | 删除容器中所有元素 |
本文详细介绍了C++标准模板库中的Vector容器。包括其特点、构造方式、成员函数及使用方法等内容,帮助读者掌握Vector的基本操作及应用场景。

1737

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



