Ich weiß, dass dies bereits diskutiert wurde, und es gibt mehrere Antworten darauf. Siehe zum Beispiel Performance of array of functions over if and switch statements, aber ich würde gerne einige andere Ideen bekommen.Bessere Alternativen für Switch-Anweisungen
Ich habe eine Funktion mit einer großen switch
Aussage. Dies ist 26 case
und jeweils mit einer left
oder right
Option. Diese Funktion gibt einen Zeiger auf zwei gegebene Parameter (plane
und direction
):
double* getPointer(int plane, int direction) {
switch (plane)
{
case 0:
if (direction == 0)
return p_YZ_L; // Left
else if (dir == 1)
return p_YZ_R; //Right
else {
return 0;
}
break;
...
case 25:
...
}
}
mit
planes -> [0-25]
direction -> [0,1]
Ich habe auf einer Reihe von Funktionen gedacht, aber auch langweilig sein könnte, und ich bin nicht sicher, ob es die beste Option ist. Mir ist auch nicht klar, wie ich es richtig machen soll. Irgendwelche Ideen?
Bitte zeigen Sie den Code mit den'Switch'-Anweisungen, über die Sie sprechen. –
Zwei Funktionen mit 26 Switch-Fällen können eine gute Alternative sein, wenn angenommen wird, dass rechte und linke Sub-Cases nicht viel Code gemeinsam haben. – dasblinkenlight
Wie wäre es mit Array 'double * x [2] [26]' und 'return x [direction] [plane]'? –