MST
星途 面试题库

面试题:C++ 函数指针在回调机制中的应用

请描述在 C++ 中如何使用函数指针来实现一个简单的回调机制。假设你有一个函数 `void processData(int data, void (*callback)(int))`,其中 `callback` 是一个函数指针,指向处理数据的回调函数。请实现这个 `processData` 函数,并编写一个回调函数示例,展示如何调用 `processData` 函数并传递回调函数。
42.7万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>

// 回调函数
void handleData(int data) {
    std::cout << "处理数据: " << data << std::endl;
}

// processData 函数实现
void processData(int data, void (*callback)(int)) {
    callback(data);
}

int main() {
    int value = 42;
    // 调用 processData 并传递回调函数
    processData(value, handleData);

    return 0;
}

在上述代码中:

  1. 定义了一个回调函数 handleData,它接受一个 int 类型参数并进行简单的输出。
  2. 实现了 processData 函数,该函数接受一个 int 类型数据和一个函数指针 callback,在函数内部调用了这个回调函数并传递数据。
  3. main 函数中,定义了一个整数 value,然后调用 processData 函数并传递 valuehandleData 回调函数。这样就实现了简单的回调机制。