当我只能使用 \n
时,是否有理由将 endl
与 cout
一起使用?我的 C++ 书说要使用 endl,但我不明白为什么。是 \n
没有像 endl
那样被广泛支持,还是我遗漏了什么?
最佳答案
endl
附加 '\n'
到流和调用flush()
在流上。所以
cout << x << endl;
等价于
cout << x << '\n';
cout.flush();
流可以使用内部缓冲区,当流被刷新时,该缓冲区会实际流式传输。如果是 cout
您可能不会注意到差异,因为它以某种方式与 cin
同步(并列) ,但对于任意流,例如文件流,您会注意到多线程程序中的差异。
Here是关于为什么需要冲洗的有趣讨论。
关于c++ - 当我可以使用换行符时,为什么要使用 endl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7324843/