在线文档教程

ForwardIterator

C++概念:前馈

ForwardIteratorIterator它可以从指向元素读取数据。

不像InputIteratorOutputIterator,可用于多通算法。

所需

类型It满足ForwardIterator如果。

  • 类型It满足InputIterator

  • 类型It满足DefaultConstructible

  • 对象的类型。It提供多通保证如下所述

  • 类型std::iterator_traits<It>::reference一定是

  • T&如果It满足OutputIterator%28It是可变的%29

  • const T&否则%28It不变%29,

%28T表示的类型。std::iterator_traits<It>::value_type%29

  • 对于相同的底层序列和自C++14%29以来的值初始化-迭代器%28,对所有迭代器定义相等和不等式比较。还有,给予。

  • i,可解引用型迭代器It

  • reference,表示的类型std::iterator_traits<It>::reference

下列表达式必须有效并具有指定的效果。

ExpressionReturn typeEquivalent expressionNotes
i++ItIt ip=i; ++i; return ip;
*i++reference

mutable ForwardIteratorForwardIterator,它还能满足OutputIterator所需经费。

多通保证

给出ab、类型的可解引用迭代器It...

  • 如果ab比较相等%28a == b在上下文上可转换为true%29,则两者都是不可撤销的,或*a*b是绑定到同一个对象的引用吗?

  • 通过可变的分配ForwardIterator迭代器不能使迭代器%28隐式无效,原因是reference定义为真实引用%29

  • 递增a不更改读取的值。a%28It是原始指针类型或表达式。(void)++It(a), *a与表达式等效。*a%29

  • a == b暗示++a == ++b

Singular iterators A value-initialized ForwardIterator behaves like the past-the-end iterator of some unspecified empty container: it compares equal to all value-initialized ForwardIterators of the same type.(since C++14)

另见

  • Iterator库

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cpPreference.com/w/cpp/Concept/ForwardIterator