C++ 快速问题:解释这个typedef

C++ 快速问题:解释这个typedef,c++,c,C++,C,它被用作: typedef int py_var_t (void *); 它将py_var_t定义为返回int并将void*指针作为参数的函数类型。这是: py_var_t *somesymbol 定义@milan1612所述的函数类型。那么这个, typedef int py_var_t (void *); 创建指向此类函数的指针。您也可以像这样创建指针: py_var_t *somesymbol; 但是使用typedefs是更好的做法,特别是当函数类型变得更复杂时。@Paul Tom

它被用作:

typedef int py_var_t (void *);

它将py_var_t定义为返回int并将void*指针作为参数的函数类型。

这是:

py_var_t *somesymbol
定义@milan1612所述的函数类型。那么这个,

typedef int py_var_t (void *);
创建指向此类函数的指针。您也可以像这样创建指针:

py_var_t *somesymbol;

但是使用typedefs是更好的做法,特别是当函数类型变得更复杂时。

@Paul Tomblin:有一种工具可以用简单的英语解释一种语言的声明,但是人们声称这种语言并不太复杂?我永远不会明白这一点;)顺便说一下,该工具的在线版本位于。只需删除<代码> TyPulfs/Cux>关键字,使声明生效。我从来没有说过C++过于复杂。C语言并不比大多数语言差,尽管声明语法有点糟糕。
int (*somesymbol)(void *);