If you look at the link to std::stable_sort, you will see that the one provided binary_functionmust be a functional object as well ... There is no difference between them, except that in the second case there is no proper "cast" or conversion made from the function to the corresponding functional object.
, , *sort , , , *sort, . , ( ), , -. , , , . , ++ a std::function, "" .
, ...