c++ - 分析这句CPP代码:typedef action_t* (*rule_t)(const sandbox_t*, const event_t*, action_t*);
ringa_lee
ringa_lee 2017-04-17 11:20:24
[C++讨论组]

在分析一个源码源码的时候看到了这么一句话:

typedef action_t* (*rule_t)(const sandbox_t*, const event_t*, action_t*);

。。。然后我就晕了。。。

呃。。。仔细看了看。。然后就明白了……
就是说一个叫做action_t类型的东西是个函数指针。。。(rule_t)是返回值类型,(const sandbox_t*, const event_t*, action_t*)是参数表

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
黄舟

rule_t是typedef的名字,代表

返回值是action_t*, 参数是(const sandbox_t*, const event_t*, action_t*)的函数指针类型
高洛峰

很显然不是你说的那样!

action_t* 才是返回来型
rule_t 才是函数指针的名字
后面才是参数表

其实不应该这么说,应该说,rule_t是一个函数指针,它指向的函数的signature是类似于下面这样的:

action_t* func(const sandbox_t*, const event_t*, action_t*);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号