Реализация gcc
стандартной библиотеки реализует find_if
с использованием развертки цикла для итераторов RA, а другие функции поиска (search
, none_of
, find
и т. Д.) Реализуются путем вызова find_if
дляиспользуйте эту оптимизацию повторно, если она применима.
Однако, почему find_if
единственная функция, оптимизированная таким образом, а не, например, std::for_each
?