回调函数(callback function)

是什么

回调函数是一种特殊的函数,它不是在程序中直接调用的,而是由程序在特定事件发生时进行调用的。回调函数通常作为参数传递给其他函数,而这些函数在执行时会将回调函数作为其内部的一部分来调用。
image

为什么

  • 解耦.
    • 回调函数的好处在于它们可以让程序更加模块化和可扩展。

怎么样

例:

#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;
}

image

例:
定义了一个函数指针类型

typedef REAL(*GetVertexParamOnEdge)(void*, int, int);
posted @   Loong_vyg  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示