Advertisement

STL中的作用是什么?不用指针为何还用迭代器?

阅读量:

请你来说一下STL中迭代器的作用,有指针为何还要迭代器

参考回答:

1、迭代器

Iterator(迭代器)模式又被称为Cursor(游标)模式,并被用来提供一种通过顺序访问各聚集体象中所有元素的方式而不必暴露其内部表示形式。

或者更易理解地说:Iterator 模式是一种应用于聚集体象的模块化设计方式。

因其特性之一是与聚集体象高度耦合这一特点,在一定程度上限制了其广泛的适用性。

一般而言它只被应用于底层的数据结构支持类如STL中的list vector stack等标准模板库容器类以及ostream_iterator等扩展型迭代器。

2、迭代器和指针的区别

迭代器本质上是一种类模板结构,在外观上与传统指针非常相似。它是一个继承了多种功能的自定义数据类型,在某些方面模仿了传统指针的基本功能,并通过实现了与传统指针相同的运算符重载操作来模拟这些基本功能。该结构通过封装的方式实现了对传统指向操作的支持,并能够灵活遍历STL中的各种数据容器的一部分或全部元素的对象。它指的是将基本数据类型的指向操作提升到更高级的状态,并提供了一个更高级的行为模式(智能指向)以应对不同类型的复杂数据结构的需求吗?

3、迭代器产生原因

Iterator类通过将不同集合类的访问逻辑进行抽象提取,并不泄露集合内部的数据结构从而实现对集合元素的整

全部评论 (0)

还没有任何评论哟~