C++ STL vector 容器介绍
介绍std::vector,并且讨论它在STL中的算法和条件函数remove_if()。
介绍
这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。
Vector总览
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
为了可以使用vector,必须在你的头文件中包含下面的代码:
#include <vector>
vector属于std命名域的,因此需要通过命名限定,如下完成你的代码:
using std::vector;
vector<int> vInts;
或者连在一起,使用全名:
std::vector<int> vInts;
建议使用全局的命名域方式:
using namespace std;
在后面的操作中全局的命名域方式会造成一些问题。vector容器提供了很多接口,在下面的表中列出vector的成员函数和操作。(eg: vector<int> c;)
vector的成员函数
(beg,end) 将[beg; end)区间中的数据赋值给c。
(n,elem) 将n个elem的拷贝赋值给c。
(idx) 传回索引idx所指的数据,如果idx越界,抛出out_of_range。
() 传回最后一个数据,不检查这个数据是否存在。
() 指向迭代器中的第一个数据。(vector<int>::iterator itor; itor=();)
() 返回容器中数据个数。
() 移除容器中所有数据。
() 判断容器是否为空。
() 指向迭代器中的最后一个数据的下一个位置。
(pos) 删除pos位置的数据,传回下一个数据的位置。(pos是游标iterator)
(beg,end) 删除[beg,end)区间的数据,传回下一个数据的位置。
() 传回第一个数据。
get_allocator
c stl vector 容器介绍 来自淘豆网www.taodocs.com转载请标明出处.