Cin 对象返回值 c++

Cin object return value c++

本文关键字:c++ 返回值 对象 Cin      更新时间:2023-10-16

我想问一下cin的返回值是什么?我知道它是 istream 对象,当它像if(!cin)这样的表达式中使用时,实际上被称为某个函数,我想知道它实际上是什么函数。cin.fail() 或 cin.good() 或..是if(!cin) same as if(cin.fail())?

是的。

cin重载转换运算符,它们返回标志状态fail()

可能的实现:

operator void*() const {
    return !fail();
}
explicit operator bool(){
   return !fail();
}
bool operator!() const {
   return fail();
}

看看这里和这里。