函数指针是指向函数的变量,允许动态调用函数,无需在编译时知道实际函数。作用包括:动态函数调用、回调函数、事件处理和策略模式。实战案例包括:动态函数调用(通过函数指针调用特定函数)、回调函数(将函数作为回调参数传递给其他函数)、事件处理(在特定事件发生时调用特定函数)。
C++ 函数指针的妙用
函数指针简介
函数指针是一种指向函数的变量。它存储指向函数内存地址的指针。这种机制允许我们动态地调用函数,而无需在编译时知道实际函数。
作用
函数指针具有以下作用:
- 动态函数调用:允许在运行时决定调用哪个函数。
- 回调函数:支持将函数作为参数传递给其他函数。
- 事件处理:在特定的事件发生时,允许调用特定的函数。
- 策略模式:提供一种在运行时选择算法或行为的方法。
实战案例
动态函数调用
// 定义函数: void Print(int num) { cout << "数字:" << num << endl; } // 定义函数指针: using PrintFunc = void (*)(int); int main() { // 指向 Print 函数的函数指针: PrintFunc printPtr = Print; // 通过函数指针调用函数: printPtr(10); // 输出:"数字:10" return 0; }
登录后复制
回调函数
// 定义一个接收回调函数的函数: void CallMeBack(int (*callback)(int)) { if (callback) { callback(10); } } // 定义回调函数: int Callback(int num) { cout << "Callback 接收的数字:" << num << endl; return 0; } int main() { // 将 Callback 函数作为回调参数传递: CallMeBack(Callback); return 0; }
登录后复制
事件处理
// 定义一个事件处理函数: void OnClick() { cout << "单击发生!" << endl; } // 定义事件处理函数指针: using EventFunc = void (*)(); int main() { // 指向 OnClick 函数的事件处理函数指针: EventFunc eventHandler = OnClick; // 模拟鼠标单击事件: eventHandler(); // 输出:"单击发生!" return 0; }
登录后复制
以上就是C++ 函数指针的作用是什么?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:momo,转转请注明出处:https://www.dingdanghao.com/article/347479.html