泛型编程中的迭代器

        STL提供了一组表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL容器是同质的,即存储的值得类型相同;算法是完成特定任务的处方;迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用作指针)。

        STL不是面向对象的编程,而是一种不同的编程模式——泛型编程。面向对象编程关注的是编程的数据方面,而泛型编程关注的是算法。它们之间的共同点是抽象和创建可重用代码,但它们的理念决然不同。

为何使用迭代器?

        模板使得算法独立于存储的数据类型,而迭代器使算法独立于使用的容器类型。因此它们都是STL通用方法的重要组成部分。

        泛型编程希望函数不仅独立于容器中存储的数据类型,而且独立于容器本身的数据结构。模板提供了存储在容器中的数据类型的通用表示,因此还需要遍历容器中的值的通用表示,迭代器正是这样的通用表示。

迭代器类型

        STL定义了5中迭代器,并根据所需的迭代器类型对算法进行了描述。这5种迭代器分别是输入迭代器、输出迭代器、正向迭代器、双向迭代器和随机访问迭代器。

        

阅读更多
个人分类: c++
想对作者说点什么? 我来说一句

泛型编程和STL和模板

2010年08月16日 16.69MB 下载

没有更多推荐了,返回首页

不良信息举报

泛型编程中的迭代器

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭