温馨提示×

c++中callback回调函数怎么使用

c++
小亿
84
2024-06-07 16:02:20
栏目: 编程语言

在C++中,callback回调函数可以通过函数指针、函数对象、lambda表达式等方式来实现。下面是一些使用callback回调函数的常见方法示例:

  1. 使用函数指针实现callback回调函数:
#include <iostream>

void callbackFunction(int num) {
    std::cout << "Callback called with value: " << num << std::endl;
}

void doSomething(void (*callback)(int)) {
    int value = 42;
    callback(value);
}

int main() {
    doSomething(callbackFunction);
    return 0;
}
  1. 使用函数对象实现callback回调函数:
#include <iostream>

class Callback {
public:
    void operator()(int num) {
        std::cout << "Callback called with value: " << num << std::endl;
    }
};

void doSomething(Callback callback) {
    int value = 42;
    callback(value);
}

int main() {
    Callback callback;
    doSomething(callback);
    return 0;
}
  1. 使用lambda表达式实现callback回调函数:
#include <iostream>

void doSomething(std::function<void(int)> callback) {
    int value = 42;
    callback(value);
}

int main() {
    doSomething([](int num) {
        std::cout << "Callback called with value: " << num << std::endl;
    });
    return 0;
}

这些示例演示了如何在C++中使用函数指针、函数对象和lambda表达式来实现callback回调函数。您可以根据自己的需求选择适合的方法来使用callback回调函数。

0