缓冲区刷新究竟是如何工作的(std::endl 和 之间的区别)?



所以,我刚刚进入了'C++'开发,我想知道std::endl和到底有什么不同。我查了一下,我认为endl刷新了缓冲区,我相信这意味着它不再临时存储在内存中,现在正在打印成文本文件或终端。不过,我的问题是,您是否也可以将 用于控制台应用程序,它正在打印到终端上,并且输出相同。我对缓冲区和冲洗的解释是错误的吗?如果是这样,这些究竟意味着什么?

编辑:问题主要是关于如果东西只在被刷新后输出到终端上, 如何在终端中以相同的方式运行。

使用std::endl并不是唯一刷新cout的事情。

cin读取也会导致刷新cout缓冲区,以便提示可以在控制台上可见。默认情况彼此"绑定"。

最新更新