函数指针

函数指针

函数指针指向的是函数而非对象。和其他指针一样,函数指针指向某种特定的类型即由函数的返回值类型和参数类型共同决定。

bool (*pf) (const string &,const string &);//要想声明一个函数指针只需要用指针替换函数名即可。

pf是个指针,右侧是形参列表,表示pf指向的是函数。左侧是返回类型。

使用函数指针

当我们把函数名作为一个值使用时,该函数自动转换成指针。

pf = LengthCompare;//pf指向名为LengthCompare的函数

pf = &LengthCompare;//等价的赋值语句:取地址符是可选的

可以直接使用指向函数的指针调用该函数,无需提前解引用指针:

返回指向函数的指针

int (*f1(int)) (int*,int);

//f1有形参列表所以f1是个函数;f1前面有*,所以f1返回一个指针,指针的类型也包含形参列表,所以指针指向函数,该函数的返回类型是int.

尾置返回

auto f1(int) ->int (*) (int*,int);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值