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_type

向量所使用的 allocator 的类型。

const_iterator

一个类型,它代表随机访问只读迭代器。

const_pointer

一个类型,它代表指向向量中元素的只读指针。

const_reference

一个引用,它引用存储在向量中用来读取和执行 const 操作的 const 元素。

const_reverse_iterator

一个只读反向迭代器。

difference_type

一个类型,它代表向量中两个元素地址间的差异。

iterator

一个类型,它提供可读取或修改向量中任何元素的随机访问迭代器。

指针

一个类型,它代表指向向量中元素的指针。

reference

一个类型,它代表对向量中存储的元素的引用。

reverse_iterator

一个代表 reverse_iterator 的类型。

size_type

一个类型,它代表向量中的元素数目。

value_type

一个类型,它代表向量中存储的数据类型。

成员函数

assign

将指定的元素替换为新元素的副本。

at

如果索引小于零、或者大于等于 size(),则返回对向量中指定位置处的元素的引用,并引发 out_of_range 异常。

back

返回对向量中最后一个元素的引用。

begin

对该向量中第一个元素返回随机访问迭代器。

capacity

返回在不分配更多的存储的情况下向量可以包含的元素数。

cbegin

返回指向向量中第一个元素的随机访问常量迭代器。

cend

返回指向向量末尾之后的元素的随机访问常量迭代器。

crbegin

将 const reverse_iterator 返回到向量中的最后一个元素。

crend

返回指向向量中第一个元素前的元素的 const reverse_iterator。

clear

清除向量的元素。

数据

返回指向向量中第一个元素的指针。

emplace

将就地构造的元素插入到指定位置的向量中。

emplace_back

将一个就地构造的元素添加到向量末尾。

empty

测试该向量是否包含任何元素。

end

返回指定向量最后一个元素之后的元素的随机访问迭代器。

erase

从指定位置删除向量中的一个元素或一系列元素。

front

返回对向量中第一个元素的引用。

get_allocator

返回向量所使用的 allocator

insert

将一个元素或多个元素插入到指定位置的向量中。

max_size

返回向量的最大长度。

pop_back

删除矢量末尾处的元素。

push_back

在矢量末尾处添加一个元素。

rbegin

返回指向反向向量中第一个元素的迭代器。

rend

返回指定第一个元素之前的元素的 reverse_iterator。

reserve

保留向量对象的最小存储长度。

resize

为矢量指定新的大小。

shrink_to_fit

放弃额外容量。

size

返回向量中的元素数量。

swap

交换两个向量的元素。

运算符

operator[]

返回对指定位置的矢量元素的引用。

operator =

用另一个向量的副本替换该向量中的元素。

要求

标头:<vector>

命名空间: std

请参见

参考

C++ 标准库中的线程安全

标准模板库

其他资源

向量成员

vector 成员