Bietet C++ keine Garantie dafür, dass Variablen bei Eingabefehlern intakt bleiben? Mit älteren Versionen von gcc behält ein Programm wie dieses den Wert -1 von i bei einem Fehler (zum Beispiel, wenn anstelle einer Zahl ein Buchstabe eingegeben wird). Mit Ubuntu 10.10 (gcc 4.4.5) wird i bei einem Eingabefehler auf Null zurückgesetzt.
#include
int main()
{
int i = -1;
std::cin >> i;
std::cout << "i = " << i << '\n';
return 0;
}
Dieses Verhalten führt zu Problemen in meinem Code. Ich gehe davon aus, dass die gcc-Entwickler wissen, was sie tun, und es wahrscheinlich mein Fehler ist. Wenn jemand den Standard kennt, würde ich gerne wissen, was er über diese Situation sagt.
Vielen Dank.