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
cin >> x;
if (! cin.good()) {...}
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.