答案 0 :(得分:5)
有三种状态标志:eofbit
,failbit
,badbit
可以在不同条件下设置,每种状态可以有两种状态:true
或{{ 1}}。例如,当文件到达文件末尾时,false
将被设置。这样,您就可以看到eofbit
[使用while(cin >> x) { ... }
隐含]将有效,直到您设置了operator bool
或failbit
- 但badbit
本身仍然允许另一个循环,这就是你想要的。
生成的eofbit
和operator bool
以及状态等其他访问者(例如operator!
,good()
等将根据这些状态报告不同的内容。
因此,对于表中的每一行,您都有一组给定的状态标志值,以及每个访问器的结果。
答案 1 :(得分:2)
此表说明了good()
,fail()
,bad()
和eof()
方法以及operator bool
和operator !
取决于哪些结果关于eofbit
,failbit
和badbit
标志的值(即取决于流的状态)。