C++ 標準ライブラリのmax_element
アルゴリズムでは、モデルに入力として渡される反復子が必要ForwardIterator
です。
私の理解では、 aを使用して同じ範囲を複数回反復できることを指定することでForwardIterator
絞り込むことができます。したがって、マルチパス アルゴリズムにはs が必要です。InputIterator
ForwardIterator
ForwardIterator
ただし、max_element
これはマルチパス アルゴリズムではありません。最大要素を決定するには、範囲を 1 回反復するだけで十分です。では、なぜmax_element
の追加機能が必要なのForwardIterator
でしょうか?