S
NunChuck schrieb:
Verstehe das nicht ganz. Ist es schlecht, wenn Funktionen mehrmals
aufgerufen werden?^^
jaein, wobei die Antwort ehe zu ja tendiert.
Wenn eine Funktion sehr teuer ist (teuer im Sinne, dass sie viel Zeit und/oder Speicher in Anspruch nimmt), dann macht es keinen Sinn, sie mehrfach auszuwerten, denn das führt dazu, dass man den teuren Prozess mehrmal sinnlos ausführt (setzt in Voraus, dass die Funktion den selben Wert zurückgibt mit den gleichen Parametern).
Die Antwort nein könnte man nur geben, wenn man z.B. eine Funktion hat, die obwohl sie mit gleichen Parametern aufgerufen wird, unterschiedliche Ergebnisse ausgibt, z.b. eine Funktion wie
int choose_randomly(int x, int y)
{
return rand()%2 ? x : y; // wenn rand() gerade dann x sonst y
}
ob jemals vorkommt, dass man eine solche Funktion so verwendet
if(choose_randomly(1,2) == 1)
...
else if(choose_randomly(1,2) == 2)
...
ist eine andere Sache.
Der Punkt ist, dass man schon wissen soll, was die aufgerufene Funktion macht und zurückgibt. Wenn du weißt, dass die Funktion mit den selben Parameters stets das selbe Ergebnis zurückliefert, dann mancht es keinen Sinn, sie mehrfach auszuführen.