回调函数(callback function)
是什么
回调函数是一种特殊的函数,它不是在程序中直接调用的,而是由程序在特定事件发生时进行调用的。回调函数通常作为参数传递给其他函数,而这些函数在执行时会将回调函数作为其内部的一部分来调用。
为什么
- 解耦.
- 回调函数的好处在于它们可以让程序更加模块化和可扩展。
怎么样
例:
#include<iostream>
using namespace std;
int Callback_1(int x) // Callback Function 1
{
cout<<"hello, this is Callback_1: x = "<<x<<endl;
return 0;
}
int Callback_2(int x) // Callback Function 2
{
cout<<"hello this is Callback_2: x = "<<x<<endl;
return 0;
}
int Handle(int y, int (*Callback)(int)) //可以将函数当作参数传递, 增加一个参数y来灵活操作
{
cout<<"entering Handle Function."<<endl;
Callback(y); //调用回调函数
cout<<"entering Handle Function."<<endl<<endl;
return 0;
}
int main(int argc, char const *argv[]) {
int a = 2;
int b = 4;
Handle(a, Callback_1); //将函数名作为参数传递
Handle(b, Callback_2);
return 0;
}
例:
定义了一个函数指针类型
typedef REAL(*GetVertexParamOnEdge)(void*, int, int);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!