阅读工作草案N3337-1,即C++编程语言的标准,24.2.5前向迭代器,第806页。
从草案中得知:
如果类型为X的两个可解引用迭代器a和b满足以下条件,则它们提供多遍保证:
- a == b意味着++a == ++b
- X是指针类型或表达式(void)++X(a), *a等价于表达式*a。
[注意:要求a == b意味着++a == ++b(这对于输入和输出迭代器不成立),并且消除了通过可变迭代器进行赋值次数限制的限制(这适用于输出迭代器),允许使用带前向迭代器的多遍单向算法。 —注]
有人能以更简单的术语重新解释一下吗?我知道前向迭代器是多遍的,但我不明白如何根据C++标准的要求实现这一点。