全球旧事资料 分类
STLvector容器介绍
STLvector容器介绍
APrese
tatio
oftheSTLVectorCo
tai
erByNitro
翻译masterlee介绍stdvector,并且讨论它在STL中的算法和条件函数remove_if。
介绍
这篇文章的目的是为了介绍stdvector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if和for_each中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。
Vector总览
vector是C标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码:i
cludevectorvector属于std命名域的,因此需要通过命名限定,如下完成你的代码:usi
gstdvectorvectori
tvI
ts或者连在一起,使用全名:stdvectori
tvI
ts建议使用全局的命名域方式:usi
g
amespacestd在后面的操作中全局的命名域方式会造成一些问题。vector容器提供了很多接口,在下面的表中列出vector的成员函数和操作。
Page1of8
fSTLvector容器介绍
Vector成员函数
函数cassig
bege
dcassig
elemcatidxcbackcbegi
ccapacitycclearcemptyce
dceraseposcerasebege
dcfro
tget_allocatorci
sertposelemci
sertpos
elemci
sertposbege
dcmax_sizecpop_backcpush_backelemcrbegi
cre
dcresize
umcreservecsizec1swapc2swapc1c2vectorElemcvectorElemc1c2vectorElemc
表述将bege
d区间中的数据赋值给c。将
个elem的拷贝赋值给c。传回索引idx所指的数据,如果idx越界,抛出out_of_ra
ge。传回最后一个数据,不检查这个数据是否存在。传回迭代器重的可一个数据。返回容器中数据个数。移除容器中所有数据。判断容器是否为空。指向迭代器中的最后一个数据地址。删除pos位置的数据,传回下一个数据的位置。删除bege
d区间的数据,传回下一个数据的位置。传回地一个数据。使用构造函数返回一个拷贝。在pos位置插入一个elem拷贝,传回新数据位置。在pos位置插入
个elem数据。无返回值。在pos位置插入在bege
d区间的数据。无返回值。返回容器中最大数据的数量。删除最后一个数据。在尾部加入一个数据。传回一个逆向队列的第一个数据。传回一个逆向队列的最后一个数据的下一个位置。重新指定队列的长度。保留适当的容r
好听全球资料 返回顶部