Je viens juste d'apprendre les pointeurs de fonction et, alors que je lisais le chapitre K&R sur le sujet, la première chose qui m'a frappé a été: "Hé, c'est un peu comme une fermeture." Je savais que cette hypothèse est fondamentalement erronée et après une recherche en ligne, je n'ai trouvé aucune analyse de cette comparaison.
Alors, pourquoi les pointeurs de fonction de style C sont-ils fondamentalement différents des fermetures ou des lambdas? Pour autant que je sache, cela a à voir avec le fait que le pointeur de fonction pointe toujours vers une fonction définie (nommée) par opposition à la pratique de définir la fonction de manière anonyme.
Pourquoi le passage d'une fonction à une fonction est-il considéré comme plus puissant dans le second cas, où elle n'est pas nommée, que dans le premier où c'est juste une fonction normale et quotidienne qui est transmise?
Veuillez me dire comment et pourquoi j'ai tort de comparer les deux de si près.
Merci.