C++ 使用istream对象测试条件
我试图使用下面的代码动态读取大量数字,最后是C++ 使用istream对象测试条件,c++,C++,我试图使用下面的代码动态读取大量数字,最后是EOF: vector<double> data; double x; while (cin >> x) { data.pushback(x); } 是的,我知道它是用来输入数据的,但我怎么能用它来测试条件。 下面的表达式会发生什么情况: while (cin) or if (cin) cin返回什么?类的对象是stream类,可以将其转换为void*,如果发生错误,返回的值是空指针(该指针隐式转换为bool) 请参
EOF
:
vector<double> data;
double x;
while (cin >> x)
{
data.pushback(x);
}
是的,我知道它是用来输入数据的,但我怎么能用它来测试条件。下面的表达式会发生什么情况:
while (cin) or if (cin)
cin
返回什么?类的对象是stream
类,可以将其转换为void*
,如果发生错误,返回的值是空指针(该指针隐式转换为bool
)
请参阅以获取参考。类的对象是流
类,可以将其强制转换为void*
,如果发生错误,返回的值是空指针(此指针隐式转换为bool
)
<>参见参考文献我不能说我完全理解它,因为我从来不知道对象是被铸造成指针的,我是C++的新手。但是你的答案让我对发生的事情有了大致的了解。非常有用。谢谢。知道对象是被铸造成指针的类型,我是C++新手。但是你的答案让我对发生的事情有了大致的了解。非常有用。谢谢。SSSSSS::转换为<代码> Value*/Cord>是一个例子。
while (cin) or if (cin)