- Kurzschlussauswertung
-
Kurzschlussauswertung (auch Short Circuit Evaluation) ist ein Begriff aus der Informatik und wird beim Auswerten von booleschen Ausdrücken eingesetzt. Ein boolescher Ausdruck muss demnach nicht vollständig ausgewertet werden, wenn das Auswertungsergebnis bereits durch einen Teilausdruck eindeutig bestimmt ist.
Der Ausdruck
soll von links nach rechts ausgewertet werden. Hat A den Wert „wahr“, so muss zudem B ausgewertet werden, um den Wert für C bestimmen zu können. Falls A jedoch den Wert „falsch“ hat, steht bereits fest, dass der Gesamtausdruck C nicht mehr den Wert „wahr“ annehmen kann. Die Auswertung kann also an dieser Stelle abgebrochen werden, ohne B auszuwerten zu müssen.
Verschiedene Programmiersprachen verwenden die Kurzschlussauswertung als Mittel zur Optimierung. Auf die mitunter rechenintensive Auswertung komplexerer Teilausdrücke kann dadurch oft verzichtet werden. Auch bedingt auftretende Ausführungsfehler können auf diese Weise unterdrückt werden (s. Beispiel unten).
Beispiel
Das folgende Beispiel zeigt einen Anwendungsfall für Kurzschlussauswertung.
A = 0 B = 10
if (A != 0) AND ((B / A) >= 5) then print "B / A " (B / A) else print "(B / A) < 5 oder Division durch Null verhindert" endif
Die Auswertung des boolschen Ausdrucks wird im Fall A = 0 nach der Auswertung von A != 0 abgebrochen, da das Resultat der AND-Verknüpfung mit „falsch“ bereits eindeutig feststeht.
Siehe auch
Wikimedia Foundation.