在C++中,異步回調函數通常使用函數指針或者函數對象來表示。下面是調用異步回調函數的幾種常見方法:
void callbackFunction(int result) {
// 處理回調函數的邏輯
}
void asyncFunction(void (*callback)(int)) {
// 異步操作
int result = 42;
callback(result); // 調用回調函數
}
int main() {
asyncFunction(callbackFunction); // 傳遞回調函數作為參數
// 其他操作
return 0;
}
class CallbackClass {
public:
void operator()(int result) {
// 處理回調函數的邏輯
}
};
void asyncFunction(std::function<void(int)> callback) {
// 異步操作
int result = 42;
callback(result); // 調用回調函數
}
int main() {
CallbackClass callbackObject; // 創建回調函數對象
asyncFunction(callbackObject); // 傳遞回調函數對象作為參數
// 其他操作
return 0;
}
void asyncFunction(std::function<void(int)> callback) {
// 異步操作
int result = 42;
callback(result); // 調用回調函數
}
int main() {
asyncFunction([](int result) {
// 處理回調函數的邏輯
}); // 使用Lambda表達式作為回調函數
// 其他操作
return 0;
}
無論使用函數指針、函數對象還是Lambda表達式,都可以在異步操作完成后,通過調用回調函數來處理異步操作的結果。