Я только сейчас узнаю о указателях функций, и когда я готовил главу K & R по этому вопросу, первое, что ударило меня, было: "Эй, это вроде как закрытие". Я знал, что это предположение в корне неверно как-то, и после того, как поиск в Интернете не нашел реального анализа этого сравнения.
Итак, почему указатель функции стиля C принципиально отличается от закрытия или лямбда? Насколько я могу судить, это связано с тем, что указатель функции по-прежнему указывает на определенную (называемую) функцию, а не на возможность анонимного определения функции.
Почему передача функции в функцию считается более мощной во втором случае, где она неназванная, чем первая, где это просто обычная повседневная функция, которая проходит?
Пожалуйста, расскажите мне, как и почему я ошибаюсь, чтобы сравнить их так близко.
Спасибо.