标签: c++ loops conditional-statements
我知道我可以使用cin >>作为条件。但我无法理解它的功能,因为它不像a < b这样的典型条件表达式。 为什么它可以作为一个条件?
cin >>
a < b
答案 0 :(得分:2)
cin >> a返回cin。当您加入if时,operator bool的{{1}}会被调用,返回istream。请看The documentation of ios::operator bool。
cin >> a
cin
if
operator bool
istream
这与cin.good()或if((bool)(cin >> a))相同。
cin.good()
if((bool)(cin >> a))