Einzelnen Beitrag anzeigen

Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#11

Re: wie bearbeitet ein Compiler if-Abfragen?

  Alt 3. Feb 2005, 10:47
Ich weiss jetzt nicht ob es bereits mal erwähnt wurde, aber der Compiler nimmt natürlich auch Optimierung durch.

Es wird nur so lange ausgewertet, bis das Ergebnis des Gesamten Ausdrucks feststeht. Bestes Beispiel ist immer ne Prüfung bei einem Array:

if (length(Arr)>0) and (Arr[0]=10) then Wenn Arr eine Länge von Null hat, führt er Arr[0]=10 nicht mehr aus, da der Gesamtausdruck nicht mehr Wahr sein kann.

Genauso verhält es sich bei or

if (a=10) or (b=20) then Wenn a 10 ist, wird b auch nicht mehr geprüft, da nun der gesamte Ausdruck auf jeden Fall wahr ist.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat