vector 类
STL 向量类是一个类模板,用于在线性排序中存储给定类型的元素并允许快速随便访问任何元素。 向量类应为随机访问性能超出限制时的首选序列容器。 在不确定使用何种类型的序列容器时,请使用向量。
template <
class Type,
class Allocator = allocator<Type>
>
class vector
参数
类型
要存储在向量中的元素的类型Allocator
分配和释放向量内存的对象的类型。 此参数为可选参数,默认值为 std::allocator*<Type>。*
备注
向量允许在序列末尾插入和删除常量事件。 若要在矢量中间插入或删除元素,则需要线性时间。 就在序列开头和末尾进行插入和删除而言,deque 类容器的性能更胜一筹。 就在序列任何位置进行插入和删除而言,list 类容器更胜一筹。
当成员函数必须将向量中所含元素数增加到超过其当前存储容量时,将进行向量重新分配。 其他的插入和删除均可能改变序列中的各个存储地址。 在所有此类情况下,指向序列更改部分的迭代器或引用将变为无效。 如果未进行重新分配,则只有插入/删除点前的迭代器和引用保持有效。
vector<bool> 类是一种类模板向量的完全专用化,针对类型 bool 的元素,且带有专用化所使用的基础类型的分配器。
vector<bool> 引用类是一个嵌套类,其对象能够提供对 vector<bool> 对象内的元素(一位)的引用。
成员
构造函数
构造一个向量,它具有特定大小、具有特定值的元素、具有特定 allocator,或将其构造成某个其它向量的副本。 |
Typedef
向量所使用的 allocator 的类型。 |
|
一个类型,它代表随机访问只读迭代器。 |
|
一个类型,它代表指向向量中元素的只读指针。 |
|
一个引用,它引用存储在向量中用来读取和执行 const 操作的 const 元素。 |
|
一个只读反向迭代器。 |
|
一个类型,它代表向量中两个元素地址间的差异。 |
|
一个类型,它提供可读取或修改向量中任何元素的随机访问迭代器。 |
|
一个类型,它代表指向向量中元素的指针。 |
|
一个类型,它代表对向量中存储的元素的引用。 |
|
一个代表 reverse_iterator 的类型。 |
|
一个类型,它代表向量中的元素数目。 |
|
一个类型,它代表向量中存储的数据类型。 |
成员函数
将指定的元素替换为新元素的副本。 |
|
如果索引小于零、或者大于等于 size(),则返回对向量中指定位置处的元素的引用,并引发 out_of_range 异常。 |
|
返回对向量中最后一个元素的引用。 |
|
对该向量中第一个元素返回随机访问迭代器。 |
|
返回在不分配更多的存储的情况下向量可以包含的元素数。 |
|
返回指向向量中第一个元素的随机访问常量迭代器。 |
|
返回指向向量末尾之后的元素的随机访问常量迭代器。 |
|
将 const reverse_iterator 返回到向量中的最后一个元素。 |
|
返回指向向量中第一个元素前的元素的 const reverse_iterator。 |
|
清除向量的元素。 |
|
返回指向向量中第一个元素的指针。 |
|
将就地构造的元素插入到指定位置的向量中。 |
|
将一个就地构造的元素添加到向量末尾。 |
|
测试该向量是否包含任何元素。 |
|
返回指定向量最后一个元素之后的元素的随机访问迭代器。 |
|
从指定位置删除向量中的一个元素或一系列元素。 |
|
返回对向量中第一个元素的引用。 |
|
返回向量所使用的 allocator。 |
|
将一个元素或多个元素插入到指定位置的向量中。 |
|
返回向量的最大长度。 |
|
删除矢量末尾处的元素。 |
|
在矢量末尾处添加一个元素。 |
|
返回指向反向向量中第一个元素的迭代器。 |
|
返回指定第一个元素之前的元素的 reverse_iterator。 |
|
保留向量对象的最小存储长度。 |
|
为矢量指定新的大小。 |
|
放弃额外容量。 |
|
返回向量中的元素数量。 |
|
交换两个向量的元素。 |
运算符
返回对指定位置的矢量元素的引用。 |
|
用另一个向量的副本替换该向量中的元素。 |
要求
标头:<vector>
命名空间: std