Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Funktionsaufruf in mehrere folgenden Ifs
HenryHux - Mi 15.12.10 22:41
Titel: Funktionsaufruf in mehrere folgenden Ifs
Hi, kurze Frage.
Was ist kürzer?
Delphi-Quelltext
1: 2: 3:
| If (bedingung1) and (bedingung2) and (funktion) then xxx else if bedingung3) and (bedingung4) and (funktion) then xxy else if bedingung5) and (bedingung6) and (funktion) then xyy |
oder
Delphi-Quelltext
1: 2: 3:
| If Funktion then begin end; |
Mich würde interessieren, ob oben die Funktion 3 mal aufgerufen wird, wenn ja wäre die untere deutlich schneller.
Lg
Xion - Mi 15.12.10 23:00
Soweit ich weiß wird die Funktion 3x ausgeführt, ja. Wobei die Funktion nur ausgeführt wird, wenn nötig. Sind Bedinung1,3,5 false, dann wird die Funktion garnicht ausgeführt, da (false and egal and egal) = false
elundril - Mi 15.12.10 23:06
Xion hat folgendes geschrieben : |
| Soweit ich weiß wird die Funktion 3x ausgeführt, ja. Wobei die Funktion nur ausgeführt wird, wenn nötig. Sind Bedinung1,3,5 false, dann wird die Funktion garnicht ausgeführt, da (false and egal and egal) = false |
nicht immer. Dafür muss ein Kompilierschalter gesetzt sein, das eben die ausdrücke nicht vollständig ausgewertet werden. aber rein übersichtshalber würd ich persönlich die 2. Variante bevorzugen.
lg elundril
HenryHux - Mi 15.12.10 23:11
Also habe es ausprobiert, er führt die Funktion mit else 3 mal aus.
Lg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!