使用istream对象测试条件

时间:2012-06-16 12:26:22

标签: c++

我试图使用下面的代码动态阅读大量数字,最后是EOF

vector<double> data;
double x;
while (cin >> x)
{
    data.pushback(x);
}

这种方法效果很好但我想知道下面的表达式发生了什么

cin >> x

是的,我知道它用于输入数据,但我怎么能用它来测试条件。
下面的表达式会发生什么:

while (cin) or if (cin)

cin返回什么?

1 个答案:

答案 0 :(得分:3)

cinistream类的对象,可以强制转换为void*,如果发生错误,则返回的值为空指针(此指针可隐式转换为bool)。

请参阅here以供参考。