Heim  >  Artikel  >  Backend-Entwicklung  >  Wie funktioniert „if (cin >> x)' bei der C-Eingabevalidierung?

Wie funktioniert „if (cin >> x)' bei der C-Eingabevalidierung?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-22 12:02:12725Durchsuche

How Does `if (cin >> x)` Arbeiten Sie in der C-Eingabevalidierung?
> x)` Arbeiten Sie in der C-Eingabevalidierung? " />

Verstehen der „if (cin >> x)“-Bedingung in C

In C ist die „if (cin >> x)“-Bedingung Die Bedingung „)“ wird häufig verwendet, um zu überprüfen, ob ein Wert erfolgreich aus dem Standardeingabestream (cin) gelesen wurde. Dies kann jedoch verwirrend sein, da cin normalerweise mit a verknüpft ist Funktion.

cin als Objekt

Der Schlüssel zum Verständnis dieser Bedingung liegt in der Erkenntnis, dass cin nicht nur eine Funktion ist, sondern auch ein Objekt der istream-Klasse , der den Standardeingabestream darstellt. Daher verfügt cin über Mitgliedsfunktionen und Operatoren, einschließlich des überladenen „>>“. Operator.

Überladen des „>>“-Operators

Der „>>“-Operator für Streams wird überladen, um einen Verweis auf denselben Stream zurückzugeben. Das bedeutet, dass Ausdrücke wie „cin >>“ x“ und „cin“ werden zum Stream-Objekt selbst ausgewertet.

Boolesche Konvertierung

Das Stream-Objekt kann basierend auf der letzten Eingabe implizit in einen booleschen Wert konvertiert werden Der Vorgang war erfolgreich oder fehlgeschlagen. Ein erfolgreicher Vorgang gibt „true“ zurück, während ein Fehler (z. B. wenn ein nicht numerischer Wert eingegeben wird) zurückgegeben wird falsch.

Äquivalenz von Bedingungen

Somit ist die Bedingung „if (cin >> x)“ äquivalent zu „cin >> X; if (cin)“. Im ersten Fall wird der Operator „>>“ verwendet, um einen Wert in x einzulesen, und bei Erfolg ist die Bedingung wahr. Im zweiten Fall wird der Operator „cin >>“ verwendet. x;“-Anweisung führt den gleichen Vorgang aus und dann wird das Stream-Objekt cin explizit auf Erfolg überprüft.

Überprüfung des Eingabeerfolgs

Durch die Verwendung der „if (cin > ;>

Das obige ist der detaillierte Inhalt vonWie funktioniert „if (cin >> x)' bei der C-Eingabevalidierung?. 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