C++ `endl` 与 ` ` 的区别

Posted wayou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ `endl` 与 ` ` 的区别相关的知识,希望对你有一定的参考价值。

  • std::cout << std::endl : 插入换行并刷新缓存区 (flush the buffer)
  • std::cout << "\n" : 插入换行

其中关于 std::endl,C++ Primer 中是这样介绍的:

endl, which is a special value called a manipulator. Writing endl has the effect of ending the current line and flushing the buffer associated with that device. Flushing the buffer ensures that all the output the program has generated so far is actually written to the output stream, rather than sitting in memory waiting to be written.”

-- Stanley B. Lippman. “C++ Primer, Fifth Edition (Jason Arnold‘s Library).”

刷新操作能够保证程序中推送到 cout 的数据全部输出,而不是继续留存在缓存区以 buffer 形式存在。大多数情况下这是最后一步输出操作所期望的结果。如果还没结束输出,那可直接用 \n

相关资源

geeksforgeeks.org/endl-vs-n-in-cpp

以上是关于C++ `endl` 与 ` ` 的区别的主要内容,如果未能解决你的问题,请参考以下文章

在c++里register变量已经和普通变量无区别吗?

cpp►endl与‘ ‘的区别?

C++ 函数返回与函数设置指针

通过#define 预处理器指令覆盖 C++ 中的“endl”

1.4条件和循环

有趣的 C++ 代码片段,有啥解释吗? [复制]