En C/C++, si j'ai une des fonctions suivantes:
void foo();
void bar(void (*funcPtr)());
Est-il une différence entre ces deux appels:
bar(foo);
bar(&foo);
?
En C/C++, si j'ai une des fonctions suivantes:
void foo();
void bar(void (*funcPtr)());
Est-il une différence entre ces deux appels:
bar(foo);
bar(&foo);
?
bar(foo);
est appelé la version "courte"
bar(&foo);
est de savoir comment il est officiellement terminé
Fonctionnellement, il n'y a pas de différence, cependant, les options de seconde est considérée comme "bonne pratique" par la plupart des puisque de cette façon, il est plus évident que foo est en fait un pointeur de fonction et non d'une fonction.
Ceci est similaire à celui des tableaux. Si vous avez:
int foobar[10];
alors que foobar est un int *, mais vous pouvez aussi le faire &foobar pour le même résultat.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.