Heim  >  Artikel  >  Backend-Entwicklung  >  Kurzschlussauswertung in C: Ist sie so zuverlässig wie in Java?

Kurzschlussauswertung in C: Ist sie so zuverlässig wie in Java?

Susan Sarandon
Susan SarandonOriginal
2024-11-10 04:41:02182Durchsuche

Short Circuit Evaluation in C  : Is It as Reliable as in Java?

Kurzschlussauswertung in C: Ist sie so garantiert wie in Java?

In Java stellt der Kurzschlussauswertungsmechanismus sicher, dass Ausdrücke werden nacheinander von links nach rechts ausgewertet und stoppen, sobald ein falscher Wert auftritt. Dieses Verhalten ermöglicht die effiziente Nutzung von Bedingungen wie:

if (a != null && a.fun());

Kann C die gleiche Garantie bieten?

In C wird auch die Kurzschlussbewertung verwendet integrierte Datentypen und Operatoren. Die Garantie unterscheidet sich jedoch von Java.

if (a != 0 && a->fun());

Hier wird ein != 0 entweder als wahr oder falsch ausgewertet, und nur wenn es als wahr ausgewertet wird, macht es Spaß () ausgeführt. Dieses garantierte Verhalten gilt nur für integrierte Typen.

Überladung & und || in C

Benutzerdefinierte Typen in C können && und || überladen Betreiber. In diesem Fall ist die Kurzschlussauswertung nicht garantiert. Daher wird generell davon abgeraten, diese Operatoren für benutzerdefinierte Typen zu überladen.

Das obige ist der detaillierte Inhalt vonKurzschlussauswertung in C: Ist sie so zuverlässig wie in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn