Je suis en train de me familiariser avec les pointeurs de fonction et, alors que je préparais le chapitre de 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 fausse d'une manière ou d'une autre et après une recherche en ligne n'était pas vraiment de trouver une 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 puisse dire, cela a à voir avec le fait que le pointeur de fonction pointe toujours vers une fonction définie (nommée), par opposition à la possibilité de définir anonymement la fonction.
Pourquoi le passage d'une fonction à une fonction est-il considéré comme plus puissant dans le second cas, où la fonction n'est pas nommée, que dans le premier, où c'est une fonction normale de tous les jours qui est passée ?
Dites-moi s'il vous plaît comment et pourquoi j'ai tort de comparer les deux si étroitement.
Merci.