Parse sgi stl function static void (* _ set_malloc_handler (void (* _ f )()))()
static void (* __set_malloc_handler(void (*__f)()))(){ void (* __old)() = __malloc_alloc_oom_handler; __malloc_alloc_oom_handler = __f; return(__old);}
First, you must know the function expression of the function pointer as the parameter and the return function pointer (see Function
Pointer ).
Therefore, void (* set_malloc_handler () indicates that set_malloc_handler is a function pointer in the form of void (* f) () returned value.
Second, void (* _ f) () is just a function parameter.
In conclusion, void (* _ set_malloc_handler (void (* _ f) () is a function that accepts a form of void (* _ F) () function pointer as a parameter,
And return a function pointer in the form of void (* _ f. The easy-to-understand format is
typedef void(*pt2Func)();pt2Func __set_malloc_handler( void (*__f)() ) { void (* __old)() = __malloc_alloc_oom_handler; __malloc_alloc_oom_handler = __f; return(__old); }