首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BidirectionalIterator

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

所需

类型It满足BidirectionalIterator如果。

  • 类型It满足ForwardIterator还有,给予。
  • ab,类型迭代器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存在这样的情况ba == ++b%29邮政条件:
  • A是可撤销的
  • --(++a) == a
  • 如果--a == --b然后a == b
  • &a == &--a
代码语言:txt
复制
`a--`  convertible to `const It&`   `It temp = a; --a;  return temp;`      `*a--` `reference`      

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

注记

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

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

另见

  • Iterator库
代码语言:txt
复制
 ? cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com