(int(*)(int const&) ) add;

咸魚先生 2014-09-02 03:41:34
(int(*)(int const&) ) add<int,5>;
(int(*)(int const&) ) 这句是什么意思,函数指针? 意思是把 add<int,5> 的结果转为函数指针吗?


int fun2(int(*p)(int const&))
{
return p(10);
}

...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2014-09-02
  • 打赏
  • 举报
回复
是的,感觉像是curry化。
勤奋的小游侠 2014-09-02
  • 打赏
  • 举报
回复
是的,楼主你想的大部分正确。 只是这个 add<int,5> 它是一个函数模版的实例,其实也就是一个函数指针
神奕 2014-09-02
  • 打赏
  • 举报
回复
int(*)(int const&) 是一个函数指针,指向的函数返回值是int型,参数类型是int const& add这里没给出来,我想应该是一个函数模板,而 add<int,5> 则是函数模板的一个实例,也就是一个具体的函数。 所以 (int(*)(int const&) ) add<int,5>; 就是将函数模板add的一个实例强转为 int(*)(int const&) 函数指针类型

int fun2(int(*p)(int const&))
{
     return p(10);
}
至于这个函数,就是传入一个函数指针,然后通过函数指针调用该函数(实参为10),p(10)的返回值是int,同时作为函数fun2的返回值。。。
熊熊大叔 2014-09-02
  • 打赏
  • 举报
回复
int fun2(int(*p)(int const&)) 这个函数有一个参数p, 类型是一个函数指针,其代表的函数类型返回值为int, 参数是一个int const&

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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