148Fermer150
SallyLe 07/08/2008 à 20:29
Ça n'a pas de sens *en C* tu veux dire (et c'est bien ce que dit Kevin : tu ne peux pas vraiment faire des closures en C)

sinon dans l'absolu (et en particulier dans n'importe quel langage fonctionnel), bien sûr qu'une fonction peut s'instancier, il suffit pour ça qu'elle utilise des variables qui ne sont ni locales ni des paramètres (« variables libres ») : tu peux alors avoir une fermeture différente de la même fonction pour chaque valeur de ces variables, en fait c'est précisément ça que veut dire fermeture d'ailleurs ( http://en.wikipedia.org/wiki/Closure_(computer_science) )

Quant au fait qu'une fonction soit stateless ça n'est même pas forcément vrai en C, tu peux déclarer des variables locales en static ^^