我在这里问了一个关于函数指针使用的问题,有人回答给出了经典计算器的例子
float Plus (float a, float b) { return a+b; }
float Minus (float a, float b) { return a-b; }
float Multiply(float a, float b) { return a*b; }
float Divide (float a, float b) { return a/b; }
in some way you select your operation
/* Here there should be an if or a switch/case that selects the right operation */
float (*ptrFunc)(float, float) = Plus;
现在他说“这里应该有一个 if 或一个 switch/case 来选择正确的操作”
并且已经阅读了很多次函数指针可以用来替换 if 或 switch/case 语句,但无法理解(即使在这个计算器示例中)函数指针如何替换 if 或 switch/case?
谁能帮助我如何可视化函数指针替换 if 或 switch/case。