std :: function anstelle von Vorlagen für Prädikate

Viele Standardbibliotheksalgorithmen übernehmen Prädikatfunktionen. Der Typ dieser Prädikate ist jedoch ein beliebiger, vom Benutzer angegebener Vorlagenparameter. Warum gibt C ++ 11 nicht an, dass diese einen bestimmten Typ haben, wie zstd::function stattdessen? Zum Beispiel:

template< class InputIt >
InputIt find_if( InputIt first, InputIt last,
             std::function<bool()> p );

Ist es nicht viel sauberer, dies anstelle einer Vorlage als Argumenttyp zu verwenden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage