typedef在函数回调上面的应用

最近在学习C++,开发windows程序,用c++编程真是一件爽歪歪的事情!最近让我印象深刻,有种莫名其妙的冲动的感觉,对函数回调产生了浓厚兴趣,分分钟想解剖他大笑

回调机制的本质是函数指针在作祟。最近在编程的时候,看到前辈们用的这样的代码,瞬间秒掉了我,顿时毁了我的世界观!世间竟有如此美的代码!

typedef int (*func)(void);刚开始看到这样的一条语句真心不解,充满着神奇和好奇!起初看到前辈们是用在函数的回调上面,花了点时间研究了下,最后查完资料才顿时觉悟

上面这条语句是表示函数指针类型func,例如func  fn;则表示的是fn函数指针是指向返回值为int,没有带形参的函数!而这样的函数指针可以指向回调函数的入口地址,因而即可实现回调机制。因此可以这样说回调函数的本质是入口地址可以发生变化的一种函数,可以在用户需要一些操作触发一些函数的执行,典型的例子是我们界面的按键等控件当用户操作的时候,要对应的执行一些函数。

同理有typedef bool (*func)(void);

typedef void (*func)(void);等等

另外一个好处就是利用typedef int (*func)(void);可以减少函数指针定义的繁琐,如果没有加上面的定义的话,当你函数要定义的时候需要的就是 bool (*fn)(void);这样才是表示一个函数指针,而如果有了typedef int (*func)(void);则不用那么麻烦,直接就可以用func fn;就表示是函数指针。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值