默认情况下,标准输入设备与标准输出设备以以下形式绑定在一起:std::cin.tie(&std::cout);
这保证了在调用输入之前刷新了输出缓冲区。因此,我尝试使用std::cin.tie(0)
来解除它们的绑定,但似乎结果与绑定的情况没有任何区别。
#include<iostream>
using namespace std;
int main(int argc, char *argv[])
{
char c;
cin.tie(0)
cout << "Please enter c:";
cin >> c;
cout << c ;
return 0;
}
我是不是测试错了?为什么我们需要把它们绑在一起?它们共享同一个缓冲区吗?