我想问一下cin的返回值是多少?我知道它是 ifstream 对象,并且当它在表达式中使用时,如if(!cin)
实际上有一个函数被调用,我想知道它实际上是什么函数。 cin.fail() 或 cin.good() 或..
是if(!cin) same as if(cin.fail())?
Yes.
cin
重载转换运算符,并且它们返回标志状态fail()
.
一个可能的实现:
operator void*() const {
return !fail();
}
explicit operator bool(){
return !fail();
}
bool operator!() const {
return fail();
}
Look at here http://en.cppreference.com/w/cpp/io/basic_ios/operator! and here http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)