阅读 N3337-1 工作草案,C++ 编程语言标准,24.2.5 前向迭代器,第 806 页。
从草稿:
两个可取消引用的迭代器a
和b
的类型在以下情况下X
提供多遍保证:
—a == b
暗示++a == ++b
并且
—X
是指针类型或表达式(void)++X(a), *a
等价于表达式*a
。
[注意:a == b
隐含的要求++a == ++b
(对于输入和输出迭代器不正确)以及通过可变迭代器(适用于输出迭代器)取消对赋值数量的限制允许使用多遍单具有前向迭代器的定向算法。——尾注]
有人可以用更简单的术语重新解释这一点吗?我知道前向迭代器是多遍的,但我不明白这是如何按照 C++ 标准要求完成的。