Cin对象返回值c ++

时间:2013-10-15 15:27:55

标签: c++ cin

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

1 个答案:

答案 0 :(得分:1)

cin重载了转换操作符,并返回标记状态fail()

可能的实施:

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

explicit operator bool(){
   return !fail();
}

bool operator!() const {
   return fail();
}

查看herehere