Je suis confus quant à la signification de void *function()
.
Est-ce un pointeur pour fonctionner ou une fonction qui revient void*
? Je l'ai toujours utilisé sur les structures de données comme une fonction récursive renvoyant un pointeur, mais quand j'ai vu un code dans multithreading ( pthread
) il y a la même déclaration de fonction. Maintenant, je ne sais pas quelle est la différence entre eux.
void *function()
est une fonction prenant un nombre arbitraire d'arguments et renvoyant une valeur qui, lorsqu'elle est déréférencée, est de type void . En C ++, void* function()
est une fonction ne prenant aucun argument et renvoyant une valeur de pointer-to-void . Vous devez vous décider sur la langue que vous demandez.
void *
. Après tout, même si vous le pouviez, que feriez-vous avec un void
?
void*function();
est syntaxiquement correct. Par exemple, pour Python, ils ont choisi une décision différente - le format fait partie de la syntaxe. À mon humble avis, les deux façons ont leur pour et leur contre.