Maison >développement back-end >C++ >`if (cin >> x)` est-il une expression conditionnelle valide en C ?

`if (cin >> x)` est-il une expression conditionnelle valide en C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-22 08:22:10287parcourir

Is `if (cin >> x)` une expression conditionnelle valide en C ?
x)` une expression conditionnelle valide en C ? " />

Évaluer la validité de cin en tant qu'expression conditionnelle

Considérez l'extrait de code C suivant :

int x;
if (cin >> x) {}

Certains programmeurs peuvent trouver déroutant que la condition ci-dessus équivaut à :

cin >> x;
if (cin) {}

Comprendre pourquoi c'est le cas nécessite d'examiner de plus près la nature de cin.

L'énigmatique cin : Fonction ou Objet ?

Malgré la notation familière qui ressemble à un appel de fonction, cin est en fait un objet de la classe istream. Il représente le flux d'entrée standard et correspond. au flux stdin en C.

L'opérateur surchargé cin

Le >> L'opérateur est surchargé pour les flux. Lorsqu'il est appliqué à un objet flux, il renvoie une référence au même flux.

Conversion de flux en booléen

Les flux peuvent participer à des conditions booléennes via un opérateur de conversion qui évalue les à vrai ou faux. Ceci est particulièrement utile pour détecter les erreurs de saisie.

If (cin >> x) - Le casser. Down

Dans if (cin >> x), l'opérateur >> est utilisé pour extraire une valeur du flux d'entrée cin et la stocker dans x. Si l’extraction réussit, la condition est évaluée comme vraie. D'un autre côté, si une valeur non numérique est saisie, l'extraction échoue et la condition est évaluée comme fausse.

Conclusion

Par conséquent, si (cin >> x) est vérifier efficacement si cin est dans un état permettant une extraction valide. Cette condition permet aux programmeurs de gérer facilement la validation des entrées et de répondre en conséquence.

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