标签: c++ cin
我想问一下cin的返回值是多少?我知道它是istream对象,当它在像if(!cin)这样的表达式中使用时,实际上调用了一些函数,我想知道它实际上是什么函数。 cin.fail()或cin.good()或.. 是if(!cin) same as if(cin.fail())?
if(!cin)
if(!cin) same as if(cin.fail())?
答案 0 :(得分:1)
cin重载了转换操作符,并返回标记状态fail()。
cin
fail()
可能的实施:
operator void*() const { return !fail(); } explicit operator bool(){ return !fail(); } bool operator!() const { return fail(); }
查看here和here。