小白阿欣 发表于 2020-4-1 20:55:12

求大佬给我解释一下c++中基础cin和.peek()的理解

在小甲鱼的程序里请问while(cin>>i)是什么意思呢?是满足输入流中有int就执行下面吗?我没有对空格进行.peek(),为什么程序也能完全运行呢?为什么小甲鱼还要对空格进行.peek()?

BngThea 发表于 2020-4-1 20:58:01

1 cin是输入流,每次输入过程都会有个状态,如果结束会返回0
2 看需求。

小白阿欣 发表于 2020-4-1 21:02:33

本帖最后由 小白阿欣 于 2020-4-1 21:03 编辑

小白阿欣 发表于 2020-4-1 21:05:06

BngThea 发表于 2020-4-1 20:58
1 cin是输入流,每次输入过程都会有个状态,如果结束会返回0
2 看需求。

那请问那个while(cin>>i)是不是 从你输入的字符流从左往右读,读到int就执行下列语句呢?

BngThea 发表于 2020-4-1 21:23:19

小白阿欣 发表于 2020-4-1 21:05
那请问那个while(cin>>i)是不是 从你输入的字符流从左往右读,读到int就执行下列语句呢?

对,读到了int,就执行循环体

这里用peek是为了使下一次循环拿到的int是对的,否则在输入流中还有空格符存在

小白阿欣 发表于 2020-4-1 21:50:58

BngThea 发表于 2020-4-1 21:23
对,读到了int,就执行循环体

这里用peek是为了使下一次循环拿到的int是对的,否则在输入流中还有空格 ...

嗯嗯好明白了,谢谢您
页: [1]
查看完整版本: 求大佬给我解释一下c++中基础cin和.peek()的理解