读书人

if(!cin)语句的有关问题

发布时间: 2012-09-10 22:20:13 作者: rapoo

if(!cin)语句的问题
if(!cin)这句条件判断等于if(cin.fail())还是if(cin.fail())只是if(!cin)的一种情况啊?cin是istream类的一个对象,对它取非是什么意思?

[解决办法]
判断ios::eofbit, ios::failbit, ios::badbit
[解决办法]
cin有自动类型转换的函数。
可以自动转换为bool类型。
[解决办法]
这句话就是 判断用户输入数据之后 cin.good()是不是为true
输入输出流有三个状态位:eofbit、badbit、failbit。
只有这三个标记位均为0时才表示流状态正常

虽然cin返回流,但是你这里取非会自动转换为bool,好像在C++ primer等书里有介绍

楼主可以看看:
http://cache.baidu.com/c?m=9d78d513d99815b8589cc52551029026475bda257a95c7140cc98e18cd390e564711b2fa717e0704a4992b211ce41c04e9f63d70320920bc90d5db0a8ce1c96c78952736721b9b4211ce19a4d64124cb2b9b50feaf6eb4fbb278&p=8b2a921190df50f108e2943e53&user=baidu

读书人网 >C++

热点推荐