Hier ist eine überladene >>
Operatorfunktion:Was bedeutet wenn (! (Ist >> s))?
std::istream& operator>>(std::istream& is, std::vector<int>& v){
string s;
if (! (is >> s))
return is;
...
return is;
}
Zu meinem Verständnis, machen if(! (is >> s))
keinen Sinn, weil das Terminal oder Konsole warten, bis die Eingabe von Tastaturen oder anderen Quellen s
eingeben. Der Wert der Bedingung in if()
wird letztendlich false
sein. Wer kann helfen?
Es muss gelesen werden als "Wenn' ist' kann eine Zeichenfolge nicht lesen ". –
Dieser Code ist zu dicht. Es sollte in zwei Teilen geschrieben werden: 'is >> s; wenn (! ist) ... '. –