c++ 回调函数

回调函数是一种函数,通常是由某个程序库或框架调用的,以处理某些事件或完成某些操作。它的实现方式通常是将回调函数的指针传递给调用方,然后由调用方在适当的时候调用该回调函数。回调函数通常用于处理异步操作或事件驱动程序设计。

#include <iostream>

// 回调函数类型
typedef void (*callback_func)(int);

class MyClass {
public:
    MyClass(int value) : m_value(value) {}

    // 设置回调函数
    void setCallback(callback_func func) {
        m_callback = func;
    }

    // 调用回调函数
    void invokeCallback() {
        if (m_callback) {
            m_callback(m_value);
        }
    }

private:
    int m_value;
    callback_func m_callback;
};

// 回调函数实现
void myCallback(int value) {
    std::cout << "Callback: " << value << std::endl;
}

int main() {
    MyClass obj(123);

    // 设置回调函数
    obj.setCallback(myCallback);

    // 调用回调函数
    obj.invokeCallback();

    return 0;
}

在上面的示例中,MyClass 类包含一个整数成员变量 m_value 和一个回调函数指针成员变量 m_callback。通过调用 setCallback 方法,可以将回调函数的指针传递给 MyClass 对象。通过调用 invokeCallback 方法,可以在适当的时候调用回调函数,此时回调函数会被异步地调用,并传递一个整数参数给它。在本例中,回调函数 myCallback 仅仅打印传递给它的整数参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值