看了 《STL 源码剖析》有一句话不是很明白 望执教

Sam_Yang 2002-07-04 09:54:08
此函数定义如下:

static void ( *set_malloc_handler(void(*f)()))()
{
// 定义在此处,略
}

请高手指教
static void ( *set_malloc_handler(void(*f)()))()
代表什么意思
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sam_Yang 2002-07-04
  • 打赏
  • 举报
回复
谢谢 Solstice(大佛) , 我明白了, 就去给你分
陈硕 2002-07-04
  • 打赏
  • 举报
回复
typedef void (*tpf)(); //type of pointer-to-function

static tpf set_malloc_handler(tpf)
{
...
}
此函数接收一个tpf型的函数指针,传回一个tpf型的函数指针。
Sam_Yang 2002-07-04
  • 打赏
  • 举报
回复
我觉得如果写成下面的就可能对了

static void ( *set_malloc_handler) ( ) ( )

这样,假如没有最后的一对括号,就是一个函数声明,假如有
就可以视作函数定义,
也不知道对不对
Sam_Yang 2002-07-04
  • 打赏
  • 举报
回复
假如把 void (*f) () 作为一个函数指针的参数,则可简化为下面情况
static void ( *set_malloc_handler() ) ( )
不知道对不对, 如果对,那又怎么解释上面的话

70,035

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧