繁体   English   中英

C ++算法的迭代器类别要求

[英]Iterator category requirements for C++ algorithms

没有人知道C ++标准库中各种算法对iterator_category提出的要求概述的来源吗? 我所看到的文档仅提供每种特定算法所需的iterator_category ,而没有提供所有算法的概述。

具体来说,我正在寻找一个地方的情况bidirectional_iterator其中需要forward_iterator不会做。

在第25条中搜索“双向”可得到:

  • std::copy_backward
  • std::move_backward
  • std::reverse
  • std::reverse_copy
  • std::stable_partition
  • std::inplace_merge
  • std::next_permutation
  • std::prev_permutation

通常,您可以参考标准的第25.1节[algorithms.general]中的<algorithm>提要。

该标准列出了各种迭代器的要求,相关部分为§24.2[iterator.requirements]。

关于您的问题,特别是关于双向迭代器,每当有必要向后移动迭代器时,都需要使用它们,因为它们还支持正向迭代器支持的所有操作,此外:

--i
i--
*i--

如此处详述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM