溫馨提示×

c++中callback回調(diào)函數(shù)怎么使用

c++
小億
103
2024-06-07 16:02:20
欄目: 編程語言

在C++中,callback回調(diào)函數(shù)可以通過函數(shù)指針、函數(shù)對象、lambda表達(dá)式等方式來實現(xiàn)。下面是一些使用callback回調(diào)函數(shù)的常見方法示例:

  1. 使用函數(shù)指針實現(xiàn)callback回調(diào)函數(shù):
#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. 使用函數(shù)對象實現(xiàn)callback回調(diào)函數(shù):
#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表達(dá)式實現(xiàn)callback回調(diào)函數(shù):
#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++中使用函數(shù)指針、函數(shù)對象和lambda表達(dá)式來實現(xiàn)callback回調(diào)函數(shù)。您可以根據(jù)自己的需求選擇適合的方法來使用callback回調(diào)函數(shù)。

0