换一种思路看function pointers指针函数)

本文介绍了如何解读C++中的函数指针声明,通过一个名为"右摇左摆法则"的方法,使得理解函数指针变得更加简单。文章通过实例详细解释了如何运用这一法则来解析复杂的函数指针声明。
摘要由CSDN通过智能技术生成

今天跟一个朋友聊到函数指针的问题,发现其实很多人不懂得如何解读一个函数指针的声明。其实有一个非常好用的法则,但我观察到很多视频或者文章里并没有提到,只是单纯告诉你他举的例子如何解读,换一个例子又不知道了。我给我那朋友解释完,他直惊呼“卧槽”,所以想分享出来,希望可以帮助到那个同样困惑的你。

我才发现B站不支持Markdown,没法插入代码块,只能贴图了:(
首先从简单的例子讲起,你至少需要知道这是一个函数指针:


整个声明有三个部分,fp是我们给它的名字,左边那个“*”说明它是一个指针,右边(int)是接受的参数类型,前面void是返回类型。你肯定想,


但是这个呢?


很多人即使大概能看懂,也没法自信的说就是这样,更没法给别人解释了。其实知道规则以后,会非常易读。我管这个规则叫右摇左摆法则,非常滑稽的名字,bear with me,但实际使用就是从中间看起,然后看它的右边,再看它的左边,再看右边,再看左边,直到结束。

所以上面这个例子,我们从fp1也就是中间开始看,

看中间,fp1,fp1是一个什么呢?

看右边,右边什么也没有,遇到括号表示告一段落。

看左边,是一个*,也就是pointer,所以fp1是一个指针,是什么样的指针呢?

看右边,(int),是一个接受一个int为参数的函数指针。

看左边,是一个*,也就是返回值是一个指针,是一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值