関数ポインターの使用についてSOで質問しましたが、誰かが古典的な電卓の例を挙げて答えました
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またはスイッチ/ケースが必要です」と言っています
そして、関数ポインタを使用して if または switch/case ステートメントを置き換えることができることを何度も読んできましたが、関数ポインタが if または switch/case をどのように置き換えることができるか (この電卓の例でも) を理解できませんか?
if または switch/case を置き換える関数ポインタを視覚化する方法を教えてください。