gpt4 book ai didi

c++ 将 cin 和 cout 与 iostream 同步

转载 作者:行者123 更新时间:2023-11-30 03:31:33 25 4
gpt4 key购买 nike

这里需要一些帮助;

  look at this code:
#include<bits/stdc++.h>
using namespace std;
int main()
{ ios::sync_with_stdio(false);
cin.tie(false);
while(true)
{
int x;
cin>>x;
cout<<x<<"\n";

if(x==42){
break;
}

}
return 0;
}

现在这个:

#include<bits/stdc++.h>
using namespace std;
int main()
{
while(true)
{
int x;
cin>>x;
cout<<x<<"\n";

if(x==42){
break;
}

}
return 0;
}

当我运行这两个代码时,第一个代码首先接受所有输入,然后显示输出;但是使用相同的代码,第二个代码同时读取和打印这里有什么问题,我无法理解;

最佳答案

区别在于 cin.tie(false);(实际上应该是 cin.tie(nullptr);)。它消除了 cincout 之间的联系。

默认情况下,流被缓冲,因此写入 cout 的文本不会显示,直到缓冲区已满或流被刷新,以先发生者为准。

但是,同样在默认情况下,cin 被“绑定(bind)”到 cout 并在每次输入之前刷新缓冲区。这使得写入 cout 的任何提示在输入之前可见。

关于c++ 将 cin 和 cout 与 iostream 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44154218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com