用C++语言举例说明回调函数
时间: 2023-10-10 17:12:03 浏览: 95
回调函数是指在程序运行过程中,当某个事件发生时,系统会自动回调(调用)预先注册好的函数,以完成特定的操作。以下是一个简单的例子:
```c
#include <stdio.h>
void callback(int i)
{
printf("Callback function called with value %d\n", i);
}
void doSomething(int i, void (*func)(int))
{
printf("Doing something with value %d\n", i);
func(i);
}
int main()
{
int value = 5;
doSomething(value, callback);
return 0;
}
```
在上面的例子中,我们定义了一个名为 `callback` 的函数,它的作用是输出回调函数被调用时传入的参数值。我们还定义了一个名为 `doSomething` 的函数,它接受两个参数:一个整数和一个函数指针。函数指针参数指向一个函数,该函数将在 `doSomething` 函数内部被调用。最后,在 `main` 函数中,我们将 `value` 和 `callback` 函数作为参数传递给 `doSomething` 函数。
当程序运行时,将输出以下内容:
```
Doing something with value 5
Callback function called with value 5
```
可以看到,在 `doSomething` 函数内部,我们调用了传递进来的函数指针 `func`,并将 `i` 作为参数传递给它。在这种情况下,我们将 `callback` 函数作为参数传递给了 `doSomething` 函数,因此在 `doSomething` 函数内部,我们实际上是调用了 `callback` 函数,并将 `value` 作为参数传递给它。最终,我们在控制台上看到了 `Callback function called with value 5` 的输出。
阅读全文