这是否意味着无论我们如何处理对象,如cout与stdout同步(反之亦然?)。这到底意味着什么? stdio是否也与stdout同步?
答案 0 :(得分:8)
如果同步关闭,C ++流在某些情况下会更快。
默认情况下,所有标准C ++流都与其各自的C流同步。
示例:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
cout.sync_with_stdio(false);
cout << "Hello\n";
printf("World\n");
cout << "...\n";
}
输出:
Hello
...
World
将其更改为true
可按顺序提供默认结果。
输出:
Hello
World
...
答案 1 :(得分:2)
std :: cout和stdio(比如printf)使用的默认ostream是stdout,但不一定如此。
输出总是可以重定向到另一个目的地。参考:http://www.tldp.org/LDP/abs/html/io-redirection.html
答案 2 :(得分:0)
每个cppreference:
Sets whether the standard C++ streams are synchronized to
the standard C streams after each input/output operation.