缓冲区刷新的工作原理是什么(std :: endl和\ n之间的差异)?

时间:2017-12-31 12:08:01

标签: c++

所以,我刚刚进入'C ++'dev,我想知道std :: endl和\ n是如何区别的。我查了一下,我认为endl刷新缓冲区,我相信这意味着它不再暂时存储在内存中,现在正在打印成文本文件或终端。不过,我的问题是,你是否可以使用\ n作为控制台应用程序,即打印到终端上,并输出相同的内容。我对缓冲区和刷新的解释是错误的吗?如果是这样,这究竟是什么意思?

编辑:问题主要是如果如果它们已被刷新,那么如果仅在终端上输出信息,那么\ n如何在终端中以相同的方式运行。

1 个答案:

答案 0 :(得分:2)

使用std::endl不是唯一刷新cout的东西。

cin读取也会导致刷新cout缓冲区,以便在控制台上显示提示。默认情况下,流彼此为"tied"