在STL中设置内存出错时调用的处理函数:
static void (* set_malloc_handler(void (*f)()))()
{
void (* old)() = __malloc_alloc_oom_handler;
__malloc_alloc_oom_handler = f;
return(old);
}
};
可知,set_malloc_handler函数名, void (*f)()函数参数, void (* )()返回类型,
转个简单的说明
比如你要声明一个函数,它带一个int参数,然后返回一个函数指针,指针类型为void (*)(int*, int, char); 函数的名字叫foo,怎么写呢,如果不用typedef,的确有点麻烦,像这样:
void (*foo(int))(int*, int, char);
用typedef 把返回的函数类型定义一下会符合更阅读习惯一点
typedef void (*ReturnFun)(int*, int, char);
ReturnFun foo(int);