Я смотрю последние перегрузки С++ 14 для std::equal
, и я не могу понять, что они делают и используются для...
Две перегрузки:
template< class InputIt1, class InputIt2 >
bool equal( InputIt1 first1, InputIt1 last1,
InputIt2 first2, InputIt2 last2 );
template< class InputIt1, class InputIt2, class BinaryPredicate >
bool equal( InputIt1 first1, InputIt1 last1,
InputIt2 first2, InputIt2 last2,
BinaryPredicate p );
Я полностью понимаю традиционный std::equal
, который использует только один InputIt2
, но второй InputIt2 last2
скручивает мой мозг. Может ли кто-нибудь объяснить и привести пример этого?