c++ - 为什么 "cin >>"作为条件

标签 c++ loops conditional-statements

<分区>

我知道我可以使用 cin >>作为条件。但我无法理解它的功能,因为它不同于像 a < b 这样的典型条件表达式。 . 为什么它可以作为条件?

最佳答案

cin >> a 返回 cin。当你在 if 中输入时,istreamoperator bool 被调用,它返回 cin.good()。看The documentation of ios::operator bool .

这与 if((bool)(cin >> a))if((cin >> a).good()) 相同。

关于c++ - 为什么 "cin >>"作为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042304/

相关文章:

php - 如何更正条件 WHERE 和 JOIN sql 表请求?

Python:如果其他两列在同一行中包含 'No' 字符串,则从行中删除字符串值

c++ - 当另一个线程可能正在写入时,单个整数是否可以安全读取?

javascript - 如何制作动态函数?

python - 从双循环追加数据

javascript - 整数不保存在循环/部分工作的 JS 中

ios - Objective-C if 语句中的求值 (NSIntegers)

c++ - 多个 vtables,在打电话时以错误的方式结束

c++ - 我编写的一个简单函数发生段错误

c++ - C++ 中按引用长度排列的数组