Boost C++ 库

...世界上最受推崇和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码标准

首页 / 序列 / / vector

vector

描述

vector是一个 可变参数随机访问可扩展 的类型序列,它支持在两端进行常数时间的元素插入和移除,以及在线性时间内在中间进行元素的插入和移除。在支持typeof扩展的编译器上,vector是简单且在许多情况下最高效的序列。

模型

表达式语义

在下表中,vvector, poslast是指向v, r是一个 前向序列n整型常量,并且xt1,t2,... tn 是任意类型。

表达式 语义
vector<t1,t2,... tn>
vectorn<t1,t2,... tn>
vector元素 t1,t2,... tn 的;参见 可变参数序列
vector<t1,t2,... tn>::type
vectorn<t1,t2,... tn>::type
等同于vectorn<t1,t2,... tn>;参见 可变参数序列
begin<v>::type 指向v开头的迭代器;参见 随机访问序列
end<v>::type 指向v开头的迭代器;参见 随机访问序列
size<v>::type 的大小v开头的迭代器;参见 随机访问序列
empty<v>::type 一个布尔值 整型常量c使得c::value == true当且仅当序列为空时为真;参见 随机访问序列
front<v>::type 中的第一个元素v开头的迭代器;参见 随机访问序列
back<v>::type 中的最后一个元素v开头的迭代器;参见 随机访问序列
at<v,n>::type n个元素,从v开头的迭代器;参见 随机访问序列
insert<v,pos,x>::type 一个新的vector,包含以下元素:[begin<v>::type, pos), x, [pos, end<v>::type);参见 可扩展序列
insert_range<v,pos,r>::type 一个新的vector,包含以下元素:[begin<v>::type, pos), [begin<r>::type, end<r>::type) [pos, end<v>::type);参见 可扩展序列
erase<v,pos>::type 一个新的vector,包含以下元素:[begin<v>::type, pos), [next<pos>::type, end<v>::type);参见 可扩展序列
erase<v,pos,last>::type 一个新的vector,包含以下元素:[begin<v>::type, pos), [last, end<v>::type);参见 可扩展序列
clear<v>::type 一个空的vector;参见 可扩展序列
push_back<v,x>::type 一个新的vector,包含以下元素:[begin<v>::type, end<v>::type), x;参见 后向可扩展序列
pop_back<v>::type 一个新的vector,包含以下元素:[begin<v>::type, prior< end<v>::type >::type);参见 后向可扩展序列
push_front<v,x>::type 一个新的vector,包含以下元素x, [begin<v>::type, end<v>::type);参见 前向可扩展序列
pop_front<v>::type 一个新的vector,包含以下元素:[next< begin<v>::type >::type, end<v>::type);参见 前向可扩展序列

示例

typedef vector<float,double,long double> floats;
typedef push_back<floats,int>::type types;

BOOST_MPL_ASSERT(( is_same< at_c<types,3>::type, int > ));

另请参阅

序列可变参数序列随机访问序列可扩展序列vector_clist