函数指针是指向函数的变量,允许动态调用函数,无需在编译时知道实际函数。作用包括:动态函数调用、回调函数、事件处理和策略模式。实战案例包括:动态函数调用(通过函数指针调用特定函数)、回调函数(将函数作为回调参数传递给其他函数)、事件处理(在特定事件发生时调用特定函数)。
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++ 函数指针的作用是什么?的详细内容,更多请关注编程网其它相关文章!