标签: c++
我试图使用下面的代码动态阅读大量数字,最后是EOF:
EOF
vector<double> data; double x; while (cin >> x) { data.pushback(x); }
这种方法效果很好但我想知道下面的表达式发生了什么
cin >> x
是的,我知道它用于输入数据,但我怎么能用它来测试条件。 下面的表达式会发生什么:
while (cin) or if (cin)
cin返回什么?
cin
答案 0 :(得分:3)
cin类istream类的对象,可以强制转换为void*,如果发生错误,则返回的值为空指针(此指针可隐式转换为bool)。
istream
void*
bool
请参阅here以供参考。