Selon le site C++ référence, les lambda seraient apparues avec le C++11 et ne correspondent qu'à de vulgaires fonctions anonymes construisant une clôture : ils ne savent pas ce qu'est le lambda-calcul les concepteurs et développeurs C++ ? Elles sont où les applications partielles, la curryfication, les fonctions comme citoyens de premières classes ?
En fait dans les langages de programmation de ces dernières décennies le mot "lambda" correspond à une fonction anonyme, c'est loin d'être une spécificité de C++. https://en.wikipedia.org/wiki/Anonymous_function
Et oui l'expression vient bien du lambda calcul.
Et du coup les fonctions comme citoyens de première zones sont un cas plus général que les seuls opérateurs lambdas.
Parce qu'une fonction comme citoyen de première classe c'est pas forcément un lambda, ça peut aussi être une méthode de classe ou une fonction C.
[^] # Re: Jai: Language for game programmming
Posté par DerekSagan . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 2. Dernière modification le 10 octobre 2016 à 23:52.
En fait dans les langages de programmation de ces dernières décennies le mot "lambda" correspond à une fonction anonyme, c'est loin d'être une spécificité de C++.
https://en.wikipedia.org/wiki/Anonymous_function
Et oui l'expression vient bien du lambda calcul.
Et du coup les fonctions comme citoyens de première zones sont un cas plus général que les seuls opérateurs lambdas.
Parce qu'une fonction comme citoyen de première classe c'est pas forcément un lambda, ça peut aussi être une méthode de classe ou une fonction C.
Les trucs vraiment intéressant sont là, car en effet les lambdas c'est juste* une facilité d'écriture:
http://en.cppreference.com/w/cpp/utility/functional/function
http://en.cppreference.com/w/cpp/utility/functional/bind
voire tout
http://en.cppreference.com/w/cpp/utility/functional
*: bon mais c'est bien pratique quand même hein :-)