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
Libérer: 2024-11-22 08:22:10
original
298 Les gens l'ont consulté

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) {}
Copier après la connexion

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

cin >> x;
if (cin) {}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal