函数指针两个用处:
- 函数参数传递
- 转换表
函数参数传递:可以实现类型无关函数功能。
转换表:
switch(op)
{
case ADD:
add(op1, op2);
break;
case SUB:
sub(op1, op2);
break;
case DIV:
div(op1, op2);
break;
....
}
//指针数组初始化
double (*pOperFun[])(double, double) = {
add, sub, div....};
//上面那个switch可以用下面一句话带替
result = pOperFun[op](op1, op2);