c++ 成员函数指针 赋给普通指针_「C与指针心得」23.函数指针-转移表

感谢您的阅读与点赞!欢迎关注:「大猫玩程序」,查看C语言系列文章

转移表

用途:

用函数指针的形式来替换switch、if/else的方式

示例:

一个计算器实现

double add(double,double);double sub(double,double);double mul(double,double);double div(double,double); switch(oper) { case ADD: result = add(op1mop2); break; case SUB: result = sub(op1mop2); break; case MUL: result = mul(op1mop2); break; case DIV: result = div(op1mop2); break; default: break; }

上述代码改成转移表只需要两个步骤。

首先,声明并初始化一个函数指针数组。

double (*oper_func[])(double,double)={add,sub,mil,div};调用:result = oper_func[oper](op1,op2);

oper从数组中选择正确的函数指针,而函数调用操作符将执行这个函数

f9c10aa1055679bfb5edbdc8ab1704a1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值