我对如何/为什么可以在条件句中使用 istream 有一个脆弱的理解。我读过这个问题:(为什么 istream 对象可以用作布尔表达式?)。
我不明白为什么编译没有错误……</p>
while (cin >> n) {
// things and stuff
}
…虽然这无法编译(消息error: invalid operands to binary expression ('int' and '__istream_type' (aka 'basic_istream<char, std::char_traits<char> >'))
)
while (true == (cin >> n)) {
// things and stuff
}