循环中的延迟流无效
Delayed stream invalidation in a loop
一个程序通过cin
读取int
值并显示其计数。cin
用作while
循环测试。
奇怪的是,即使没有一个非整合输入,循环会增加计数,即即使在流中流无效后,循环至少执行一次。
换句话说,用于输入
2.53
ouput是
1
按照 c 底漆,5e,lippman,lajoie,moo
当我们使用iStream作为条件时,效果是测试 溪流。如果流有效 - 也就是说,如果流尚未遇到错误,则 测试成功。当我们碰到文件终止或相遇时,iStream变得无效 无效的输入,例如读取不是整数的值。一个融合 无效状态会导致条件产生错误。
由于试图读取双重时流无效,为什么循环无论如何都会执行,然后仅在下一次迭代中退出?
代码
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main()
{
int a;
int count = 0;
while (cin >> a)
cout << ++count << endl;
return 0;
}
初学者,因此对任何帮助都得到完全赞赏。
这是因为它成功地将2.53
的2
部分读取到a
中。然后,它再次回转,尝试使用.
进行操作,然后退出循环。
,如果您还记录了读取的内容,即:
,您可以看到此操作。while (cin >> a)
{
cout << a << " " << ++count << endl;
}
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 如何仅为一个函数添加延迟
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- FFMPEG配置文件级别id大小无效
- 错误:从"int"到枚举c++的转换无效
- 以在Qt中的IF语句中设置时间延迟
- 如何修复此错误:className::className的无效使用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- C++-模板嵌套类的引用初始化无效
- 错误:无效的预处理指令 #i 的意思是 #if?
- 多维数组 C++ 中数组下标的类型"int[int]"无效
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 模板化类中静态成员的延迟初始化
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- 从 'int' 到 'int*' CPP 的转换无效
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 循环中的延迟流无效