C++ typedef声明

gln*_*gln 3 c++ typedef

你能解释下面的内容是什么意思吗?

typedef int (*Callback)(void * const param,int s)
Run Code Online (Sandbox Code Playgroud)

ice*_*ime 6

这意味着它Callback是类型的新名称:指向函数的指针,该函数返回一个int并获取两个类型为'const pointer to void'和'int'的参数.

给定一个功能f:

int f(void * const param, int s)
{
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

Callback可以被用于存储一个指针f:

Callback c = &f;
Run Code Online (Sandbox Code Playgroud)

f稍后可以通过指针调用该函数,而无需直接引用其名称:

int result = c(NULL, 0);
Run Code Online (Sandbox Code Playgroud)

在通话时,名称f不会出现.