Streamzustände: Beispiel 2

Kommen wir nun zu unserem kleinen Beispiel vom Anfang dieses Kapitels zurück:

  if (cin >> x) { }
      // Einlesen hat geklappt

Für Kontrollstrukturen stehen folgende Konvertierungsfunktionen (stream -> boolscher Wert) zur Verfügung:
 
Elementfunktion  Bedeutung 
operator void* ( )  liefert zurück, ob der Stream in Ordnung ist 
operator ! ( )  liefert zurück, ob ein Stream nicht in Ordnung ist 
 
Anstelle von

könnte man natürlich auch schreiben. Welche der beiden Möglichkeiten nun den besseren Programmierstil darstellt, darf wieder einmal heftig ausdiskutiert werden. Sicherlich stellt die zweite Alternative den lesbareren Programmcode dar.