在线文档教程

BidirectionalIterator

C++概念:双向迭代器

BidirectionalIteratorForwardIterator可以向两个方向移动%28i.e。递增和减少%29。

所需

类型It满足BidirectionalIterator如果。

  • 类型It满足ForwardIterator还有,给予。

  • ab,类型迭代器It

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

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

ExpressionReturnEquivalent expressionNotes
--aIt&Preconditions: a is decrementable (there exists such b that a == ++b) Postconditions: a is dereferenceable --(++a) == a If --a == --b then a == b &a == &--a
a--convertible to const It&It temp = a; --a; return temp;
*a--reference

  • a是可递减的%28存在这样的情况ba == ++b%29邮政条件:

  • A是可撤销的

  • --(++a) == a

  • 如果--a == --b然后a == b

  • &a == &--a

`a--` convertible to `const It&` `It temp = a; --a; return temp;` `*a--` `reference`

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

注记

如果以下情况下,开始迭代器不可减少,且行为未定义。--container.begin()被评估。

双向迭代器不必是可撤销的,尤其是结束迭代器不是可撤销的,而是可减少的%29。

另见

  • Iterator库

© cppreference.com

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

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