C++ 中的 cin.fail() 和 !cin 有啥区别?

Posted

技术标签:

【中文标题】C++ 中的 cin.fail() 和 !cin 有啥区别?【英文标题】:What's the difference between cin.fail() and !cin in C++?C++ 中的 cin.fail() 和 !cin 有什么区别? 【发布时间】:2017-11-28 11:48:21 【问题描述】:

我正在研究 C++ 中的不同输入错误。我知道当建立输入流有任何问题时,!cin 会返回 true。但我无法清楚地理解与 cin.fail() 的区别。谁能帮我解释一下?

【问题讨论】:

documentation 有什么不清楚的地方 Correct way to use cin.fail()的可能重复 【参考方案1】:

两者都是一样的。 fail 是一个典型的函数,其中 '!'是一个重载的运算符。在发布之前,您可能需要检查参考http://www.cplusplus.com/reference/ios/ios/fail/。

【讨论】:

好吧,我的错,对不起。

以上是关于C++ 中的 cin.fail() 和 !cin 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

输入数字和字母时 cin.fail 不起作用

使用 cin::fail() 从标准输入进行无限循环读取

cin>>的返回值与cin.fail()的返回值是完全同步的吗?

c++中while循环的意外行为

关于cin.sync()的解释

用 C++ 制作一个简单的链表