BidirectionalIterator
C++概念:双向迭代器
阿BidirectionalIterator
是ForwardIterator
可以向两个方向移动%28i.e。递增和减少%29。
所需
类型It
满足BidirectionalIterator
如果。
- 类型
It
满足ForwardIterator
还有,给予。
a
和b
,类型迭代器It
- reference,表示的类型std::iterator_traits<It>::reference
下列表达式必须有效并具有指定的效果。
Expression | Return | Equivalent expression | Notes |
---|---|---|---|
--a | It& | | 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存在这样的情况b
那a == ++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 BidirectionalIterator
是BidirectionalIterator
,它还能满足OutputIterator
所需经费。
注记
如果以下情况下,开始迭代器不可减少,且行为未定义。--container.begin()
被评估。
双向迭代器不必是可撤销的,尤其是结束迭代器不是可撤销的,而是可减少的%29。
另见
- Iterator库
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
http://en.cpPreference.com/w/cpp/Concept/BidirectionalIterator