函数传递函数指针代码示例
时间: 2024-07-29 10:00:41 浏览: 47
函数指针是一种在C++中传递函数作为参数或者返回值的机制。这是一种将通用功能与特定操作解耦的方式。以下是一个简单的函数指针使用示例:
```cpp
#include <iostream>
// 定义一个返回整数并打印结果的函数
int printAndReturn(int x) {
std::cout << "Function received: " << x << std::endl;
return x * 2;
}
// 定义函数指针类型
typedef int (*FuncPointer)(int);
int main() {
// 声明一个函数指针并指向printAndReturn函数
FuncPointer fp = &printAndReturn;
// 使用函数指针调用原始函数
int result = fp(5); // 输出 "Function received: 5" 并返回10
std::cout << "Result from function pointer: " << result << std::endl;
// 另一个例子,动态创建并调用函数指针
FuncPointer dynamicFn = new FuncPointer(printAndReturn);
result = dynamicFn(7); // 输出 "Function received: 7" 并返回14
delete dynamicFn; // 确保正确删除动态分配的函数指针
return 0;
}
阅读全文