在分析一个源码源码的时候看到了这么一句话:
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*)是参数表
黄舟2017-04-17 11:22:24
rule_t是typedef的名字,代表
返回值是action_t*, 参数是(const sandbox_t*, const event_t*, action_t*)的函数指针类型
高洛峰2017-04-17 11:22:24
很顯然不是你說的那樣!
action_t* 是回傳來型
rule_t 是函數指標的名字
後面才是參數表
其實不應該這麼說,應該說,rule_t是一個函數指針,它指向的函數的signature是類似於下面這樣的:
action_t* func(const sandbox_t*, const event_t*, action_t*);