函数指针的使用

本文紧紧是自己的学习记录,请大家谨慎参考。

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

bool lengthCompare(const string &, const string &);

//函数类型为bool (const string &, const string &);

bool (*bf)(const string &, const string &);

//bf为函数的指针

//函数的括号必不可少 如果没有则返回一个类型为bool的指针。

bf = compareLength;
bf = &comparelength;

bf("hello", "world");
*bf("hello", "world");

//以上都是等价的

void ff(double) {}
void ff(int) {}

void (*pf)(int) = ff;
void (*lf)(double) = ff;



函数指针形参

void useBigger(const string& s1, const string& s2, bool pf(const string&, const string&));
void useBigger(const string& s1, const string& s2, bool (*pf)(const string&, const string&));

useBigger("hello", "world", lengthCompare);

//不包含的两个类实现函数的调用

返回函数类型的指针。因为不允许使用拷贝构造。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值