Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想问一下cin的返回值是什么?我知道它是 istream 对象,当它在表达式中使用时,if(!cin)实际上调用了某个函数,我想知道它实际上是什么函数。cin.fail() 或 cin.good() 或.. 是if(!cin) same as if(cin.fail())?
if(!cin)
if(!cin) same as if(cin.fail())?
cin重载强制转换运算符,它们返回标志状态fail()。
cin
fail()
一个可能的实现:
operator void*() const { return !fail(); } explicit operator bool(){ return !fail(); } bool operator!() const { return fail(); }
看看这里和这里。