C++ 缓冲区刷新是如何工作的(std::endl和\n之间的区别)?
所以,我刚刚进入“C++”开发,我想知道std::endl和\n到底有什么不同。我查了一下,我想endl会刷新缓冲区,我相信这意味着它不再被临时存储在内存中,现在被打印成文本文件或终端。不过,我的问题是,您是否也可以将\n用于控制台应用程序,该应用程序正在打印到终端上,并输出相同的结果。我对缓冲和冲洗的解释是否错误?如果是的话,这到底意味着什么C++ 缓冲区刷新是如何工作的(std::endl和\n之间的区别)?,c++,C++,所以,我刚刚进入“C++”开发,我想知道std::endl和\n到底有什么不同。我查了一下,我想endl会刷新缓冲区,我相信这意味着它不再被临时存储在内存中,现在被打印成文本文件或终端。不过,我的问题是,您是否也可以将\n用于控制台应用程序,该应用程序正在打印到终端上,并输出相同的结果。我对缓冲和冲洗的解释是否错误?如果是的话,这到底意味着什么 编辑:问题主要是关于\n如果内容仅在刷新后才输出到终端,那么如何在终端中以相同的方式运行 使用std::endl并不是唯一刷新cout的方法 从cin读
编辑:问题主要是关于\n如果内容仅在刷新后才输出到终端,那么如何在终端中以相同的方式运行 使用
std::endl
并不是唯一刷新cout
的方法
从
cin
读取也会导致cout
缓冲区被刷新,以便在控制台上可以看到提示。默认情况下,流是相互关联的。您可能还需要注意,std::flush
也会刷新缓冲区(这是std::endl
在输出\n
后在内部执行的操作)。