C++ 回调函数及使用

回调函数原理可参考以下博客内容:
①https://www.jianshu.com/p/2f695d6fd64f
②https://zhuanlan.zhihu.com/p/326902537

本文展示一个关于更新值的回调函数:
func.h

//回调声明 用于实时更新value
typedef void(__stdcall * progressCallback)(int* value);
//功能函数
int calculate(int a_in,int b_in,progressCallback progressCB);

func.cpp

int calculate(int a_in,int b_in,progressCallback progressCB)
{
	//加法计算
	int sum=a_in+b_in;
	progressCB(&sum);  //更新结果
	//减法计算
	int diff=a_in-b_in;
	progressCB(&diff);  //更新结果
	//乘法运算
	int mul=a_in*b_in;
	progressCB(&mul);  //更新结果
	//除法运算
	float div=(float)a_in/(float)b_in;
	progressCB(&dif);

	return 0;
}

③主函数

#include"func.h"
//用于初始化回调函数
void invoke(int* res)
{
	//输出回调实时值
	cout<<res[0]<<endl;
}
int main()
{
	progressCallback progressCB;
	progressCB = invoke;
	int a=4,b=2;
	//在调用calculate过程中,progressCB中的值是实时更新的
	calculate(a,b,progressCB);
	return 0;
}

//终端可显示:
6
2
8
2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘·月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值