Kurzschlussauswertung in C und Java: Ist das garantiert?
Kurzschlussauswertung ist eine Sprachfunktion, die es einem Ausdruck ermöglicht teilweise ausgewertet werden und stoppt, sobald das Ergebnis bekannt ist. Dies kann unter bestimmten Umständen die Leistung erheblich verbessern.
Java's Short-Circuit Evaluation
In Java ist der bedingte Ausdruck if (a != null && a. Spaß()); profitiert von der Kurzschlussauswertung. Wenn a null ist, ist die Bedingung falsch und der Ausdruck a.fun() wird nicht ausgewertet. Dadurch werden die Kosten für den potenziellen Zugriff auf eine Nullreferenz eingespart.
Kurzschlussauswertung von C
In C ist der bedingte Ausdruck if (a != 0 & & a->fun()); Implementiert auch die Kurzschlussauswertung für integrierte Typen wie int und bool. Das heißt, wenn a Null ist, wird der Ausdruck a->fun() nicht ausgewertet.
Portabilität und Kompilierung
Kurzschlussauswertung ist garantiert Integrierte Typen in C für verschiedene Plattformen und Compiler. Es ist jedoch wichtig zu beachten, dass eine Überladung von && oder || Operatoren für benutzerdefinierte Typen können die Kurzschlussauswertung deaktivieren. Dies liegt daran, dass der Compiler das Verhalten der überladenen Operatoren nicht bestimmen kann. Daher wird eine Überlastung dieser Operatoren im Allgemeinen nicht empfohlen.
Das obige ist der detaillierte Inhalt vonIst die Kurzschlussauswertung in C und Java garantiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!