【发布时间】:2021-03-22 18:40:34
【问题描述】:
为什么有些示例使用“endl”而不是“\n”?
听说“endl”的处理时间比“\n”长,因为“endl”有一些flush过程。
但是,网上有很多使用“endl”的例子。
我想知道他们为什么使用被认为效率低下的“endl”。
对不起,英语不好......谢谢
【问题讨论】:
-
使用
std::endl可能有兴趣在调试时!在程序冲突之前查看屏幕上写的内容 -
Source 发送后也会调用flush() \n
-
因为在 99.9% 的情况下,您都想要冲洗并且性能令人满意。几年前,这是一种流行的微优化,即使在那些认为过早优化是万恶之源的人中也是如此。
-
它也更冗长,对于新手来说可能更容易理解?
endl作为 end line 的快捷方式比一些魔术符号'\n'更明显。当然,你甚至不会注意到只有 20 行代码的玩具程序有什么不同.. -
std::endl刷新输出流。如果您使用\n,它只会被缓冲,您可能不会在屏幕上看到新行。std::endl的唯一问题是性能。