死循环!
int ival;
// 读取cin,但是只测试EOF
while (cin >> ival , !cin.eof()){
if (cin.bad())
throw runtime_error("IO stream corrupted");
if (cin.fail()){
cerr << "bad data, try again";
cin.clear(istream::failbit);
continue;
}
// ok to process ival
}
这是C++primer里的一段代码,我调试了一下,进入死循环,请问各位大虾是什么原因!