STL 源码剖析 笔记 1: 函数指针和类型

P57 有如下一段代码:

不像函数指针变量定义,也不像函数定义。

可以参考:http://blog.csdn.net/gibbon2000pro/archive/2008/12/11/3489219.aspx

 

下面对函数指针和类型做一个总结:

函数(指针)变量定义fvoid (*fv) (int)

函数(指针)类型定义FTypetypedef void(*FType) (int), 不能直接把void (*)(int)当做类型来使用。

 

 

返回函数的函数的定义:

1.     直接但古怪的形式如下

Void(*f(void (*f)()))(int)

函数为f

输入参数为void (*f)()

返回类型为void (*)(int), 但是不能直接把void (*)(int)当作类型,所以不能写成:

void (*)(int)f(void (*f)())这种形式,所以才会有上面这种古怪的定义。下面typedef来定义函数类型,可以得到一种比较容易理解的形式。

2.     typedef的形式

typedefvoid (*FType)f(int)

FType func(FType f)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值