C++ 标准库的max_element
算法需要将迭代器作为输入传递给 model ForwardIterator
。
我的理解是,通过指定您可以使用 a在同一范围内多次迭代来进行ForwardIterator
细化。因此,多遍算法需要s。InputIterator
ForwardIterator
ForwardIterator
但是,max_element
它不是多遍算法 - 在一个范围内迭代一次以确定其最大元素就足够了。那么为什么max_element
需要额外的能力ForwardIterator
呢?