C++核心编程:函数指针与回调函数
作者:野牛程序员:2023-12-28 11:37:14 C++阅读 2620
在C++核心编程中,函数指针和回调函数是非常重要的概念。函数指针是指可以指向一个函数的指针变量,而回调函数则是通过函数指针来实现的一种机制。
函数指针的声明形式如下:
返回类型 (*指针变量名)(参数类型1, 参数类型2, ...);
例如,假设有一个函数:
void myFunction(int x) { // 函数的实现 // ... }
那么可以声明一个指向这个函数的指针:
void (*functionPtr)(int); functionPtr = &myFunction; // 或者直接写作 functionPtr = myFunction;
通过函数指针,可以动态地调用不同的函数。
回调函数则是在某个事件发生时由用户注册的函数,当事件发生时系统调用该函数。回调函数通常通过函数指针来实现。
以下是一个简单的例子,展示了如何使用函数指针和回调函数:
#include <iostream> // 回调函数的原型 typedef void (*CallbackFunction)(int); // 执行回调的函数 void performCallback(CallbackFunction callback, int value) { callback(value); } // 回调函数1 void callbackFunction1(int x) { std::cout << "Callback Function 1: " << x << std::endl; } // 回调函数2 void callbackFunction2(int x) { std::cout << "Callback Function 2: " << x * 2 << std::endl; } int main() { // 声明函数指针 CallbackFunction callbackPtr; // 使用回调函数1 callbackPtr = &callbackFunction1; performCallback(callbackPtr, 10); // 使用回调函数2 callbackPtr = &callbackFunction2; performCallback(callbackPtr, 5); return 0; }
这个例子中,performCallback
函数接受一个回调函数和一个整数参数,并在函数内部调用该回调函数。在 main
函数中,声明了两个回调函数,并通过函数指针调用了这两个回调函数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:浅谈C++类型转换函数
- 下一篇:c++面向对象:私有成员的封装