- 最传统的写法,即C++11之前的函数指针的写法,利用typedef关键字:
如:
typedef int(*myFun)(int, int);
调用示例:
int sum(int a, int b)
{
return a + b;
}
typedef int(*myFun)(int, int);
myFun h = sum;
int sum1 = h(1, 2);
- 利用C++11的using关键字,如下:
int sum(int a, int b)
{
return a + b;
}
using myFun = int(int, int);
myFun * mySum = sum;
int sum2 = mySum (1, 2);
- 利用C++11 标准模板库中的std::function,如下:
#include<functional>
int sum(int a, int b)
{
return a + b;
}
std::function<int(int, int)> myum = sum;
int sum3 = myum(1, 2);
本文介绍了 C++ 中传统函数指针的定义与使用方法,并展示了如何利用 C++11 的新特性简化函数指针的声明,以及如何使用 std::function 进行类型安全的函数存储。
2431

被折叠的 条评论
为什么被折叠?



