SGI

前向迭代器

类别:迭代器 组件类型:概念

描述

前向迭代器是一种迭代器,对应于线性值序列的通常直观概念。可以将前向迭代器(与输入迭代器输出迭代器不同)用于多遍算法。但是,前向迭代器不允许向后遍历序列,而只能像其名称所暗示的那样向前遍历。

根据平凡迭代器的要求,作为前向迭代器模型的类型可以是可变的不可变的

细化

输入迭代器输出迭代器

关联类型

输入迭代器相同

符号

X 作为前向迭代器模型的类型
T 的取值类型X
i, j 类型为的对象X
t 类型为的对象T

定义

有效表达式

前向迭代器没有定义超出输入迭代器中定义的任何新表达式。但是,输入迭代器中描述的一些限制已放宽。
名称 表达式 类型要求 返回类型
前置递增 ++i   X&
后置递增 i++   X

表达式语义

前向迭代器没有定义超出输入迭代器中定义的任何新表达式。但是,输入迭代器中描述的一些限制已放宽。
名称 表达式 前提条件 语义 后置条件
前置递增 ++i i可解引用 i指向下一个值 i可解引用或超出末尾。&i == &++i如果i == j,则++i == ++j. [1]
后置递增 i++ i可解引用 等价于{X tmp = i; ++i; return tmp;} i可解引用或超出末尾。 [1]

复杂度保证

前向迭代器上的操作的复杂度保证为摊销常数时间。

不变式

模型

注释

[1] 输入迭代器中描述的限制已被删除。递增前向迭代器不会使旧值的副本失效,并且保证如果i并且j可解引用,并且i == j,则++i == ++j。由于这两个事实,可以两次遍历同一个前向迭代器。

另请参阅

输入迭代器输出迭代器双向迭代器随机访问迭代器迭代器概述
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息