[英]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.