- 最传统的写法,即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);