STL迭代器

来源:互联网 发布:sql server添加默认值 编辑:程序博客网 时间:2024/05/17 02:24

STL = Standard Template Library,标准模板库


三个基本的STL组件:

1)           迭代器提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象。

2)           容器是一种数据结构,如list,vector,和deques ,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。

3)           算法是用来操作容器中的数据的模板函数。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象。函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。


首先迭代器模式中两个重要的因素是:迭代器和容器。外界如果想要遍历容器中的元素,有两种方法:一是直接对容器中的元素进行遍历,二是借助于迭代器进行容器的遍历。

在Java中实现迭代器模式的核心方法是:在容器类中提供一个创建迭代器对象的方法,然后通过迭代器对象来遍历容器中的元素。