Разница между std::function и обычными указателями на функции заключается в их назначении и использовании:
Таким образом, std::function более универсален и удобен, так как может хранить состояние. 2 Однако в некоторых случаях обычные указатели на функции могут иметь меньший размер, чем функтор, что также может быть преимуществом. 2
Выбор между этими понятиями зависит от конкретных задач и предпочтений разработчика.