在C++ PRIMER讲返回指向函数的指针的函数时,总是有点稀里糊涂的,想有一个明确的例子来理解,可惜书上没写。
于是,琢磨了一会儿,自己用了一个简单的例子
想来大家也都看得懂,我就不在代码中写注释了
#include <iostream>
using namespace std;
int (*choice(int v))(int v1, int v2);
int max(int v1, int v2);
int min(int v1, int v2);
int main()
{
typedef int (*pf)(int, int);
pf pmax = choice(1);
pf pmin = choice(2);
int v1 = 1, v2 = 2;
cout << "Max is : " << pmax(v1, v2) << endl
<< "Min is : " << pmin(v1, v2) << endl;
return 0;
}
int (*choice(int v))(int v1, int v2)
{
if(v == 1)
{
return max;
}
if(v == 2)
{
return min;
}
}
int max(int v1, int v2)
{
return v1 > v2 ? v1 : v2;
}
int min(int v1, int v2)
{
return v1 < v2 ? v1 : v2;
}