die an diesen unabhängig Werfen wir einen Blick:
while(cin >> x) {
// code
}
Diese Schleife, intuitiv, bedeutet „Lesewerte von cin
in x
halten, und solange ein Wert gelesen werden kann, weiterhin Looping.“ Sobald ein Wert gelesen wird, der kein int
ist, oder sobald cin
geschlossen ist, wird die Schleife beendet. Dies bedeutet, dass die Schleife nur ausgeführt wird, während x
gültig ist.
Auf der anderen Seite, sollten Sie diese Schleife:
while(cin){
cin >> y;
//code
}
Die Aussage while (cin)
Mittel „während alle früheren Operationen auf cin
ist es gelungen, eine Schleife fortgesetzt werden.“ Sobald wir die Schleife betreten, werden wir versuchen, einen Wert in y
zu lesen. Dies könnte erfolgreich sein oder es könnte fehlschlagen. Unabhängig davon, welcher Fall der Fall ist, wird die Schleife weiterhin ausgeführt. Dies bedeutet, dass wenn einmal ungültige Daten eingegeben wurden oder keine Daten mehr zu lesen sind, die Schleife noch einmal mit dem alten Wert y
ausgeführt wird, so dass Sie eine weitere Iteration der Schleife als nötig haben.
Sie sollten auf jeden Fall die erste Version dieser Schleife an die zweite bevorzugen. Es wird niemals eine Iteration ausgeführt, es sei denn, es gibt gültige Daten.
Hoffe, das hilft!
"und solange ein Wert gelesen werden kann, fahre mit dem Schleifen fort", d. H. Wenn das Lesen erfolgreich war, führe den Schleifenkörper aus. – dyp