typedef int py_var_t (void *);
il est utilisé comme:question rapide: expliquer typedef
py_var_t *somesymbol
typedef int py_var_t (void *);
il est utilisé comme:question rapide: expliquer typedef
py_var_t *somesymbol
Il définit py_var_t être le type d'une fonction de retour int et en prenant un vide * pointeur comme argument.
+1. Bonne réponse. –
+1. Réponse courte et précise. – psihodelia
Ce:
typedef int py_var_t (void *);
définit le type de la fonction telle que décrite par @ milan1612. Alors ceci:
py_var_t *somesymbol;
crée un pointeur vers une telle fonction. Vous pouvez également avoir créé le pointeur comme ceci:
int (*somesymbol)(void *);
, mais l'utilisation de typedefs est une meilleure pratique, en particulier lorsque les types de fonctions deviennent plus compliquées.
Installez cdecl ++. –
@Paul Tomblin: Il y a un outil qui explique les déclarations pour une langue en anglais clair, mais les gens prétendent que la langue n'est pas trop compliquée? Je ne comprendrai jamais cela;) En passant, la version en ligne de cet outil est sur http://www.cdecl.org/. Supprimez simplement le mot-clé 'typedef' pour que la déclaration fonctionne. – OregonGhost
Je n'ai jamais, jamais dit que C++ n'était pas trop compliqué. C n'est pas pire que la plupart des langages, bien que la syntaxe de déclaration soit un peu suce. –