Maison >développement back-end >C++ >Évaluation des courts-circuits en C : est-ce aussi fiable qu'en Java ?

Évaluation des courts-circuits en C : est-ce aussi fiable qu'en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-10 04:41:02245parcourir

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

Évaluation des courts-circuits en C : est-elle aussi garantie qu'en Java ?

En Java, le mécanisme d'évaluation des courts-circuits garantit que les expressions sont évalués séquentiellement de gauche à droite, s’arrêtant dès qu’une fausse valeur est rencontrée. Ce comportement permet une utilisation efficace de conditions, telles que :

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

C peut-il offrir la même garantie ?

En C, l'évaluation de court-circuit est également utilisée pour types de données et opérateurs intégrés. Cependant, la garantie diffère de Java.

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

Ici, a != 0 est évalué à vrai ou faux, et seulement si il est évalué à vrai, c'est a->amusant () exécuté. Ce comportement garanti s'applique uniquement aux types intégrés.

Surcharge & et || en C

Les types personnalisés en C peuvent surcharger les && et || opérateurs. Lorsque cela se produit, l'évaluation en court-circuit n'est pas garantie. Par conséquent, la surcharge de ces opérateurs pour les types personnalisés est généralement déconseillée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn