C++ 中 cout << endl 和 cout << “\n” 的区别


在本节中,我们将了解 C++ 中 cout << endl 和 cout “\n” 的区别。在不同的情况下,我们应该使用 cout << “\n”,并避免使用 endl。

因此,我们在将行打印到控制台或文件中时,为什么应该避免使用 std::endl。我们使用 std::endl 在当前行后创建新行。对于几行的 IO 操作,这并不会造成任何问题。但对于大量的 IO 任务,它会降低性能。

endl 用于创建新行,但它不会仅发送到新行,在将光标发送到下一行之后,它每次都会刷新缓冲区。

刷新缓冲区不是程序员的任务;操作系统负责处理。每次它请求刷新时,它都会向操作系统请求。这种请求相对比较昂贵。而且我们不必每次在写一些行之后刷新缓冲区。当 IO 流已满时,它会自动清除缓冲区。

如果我们分析用 std::endl 和用 ‘\n’ 将近 10 万行文本写入文件所需的时间,我们能够轻松地看出区别。与在它后面使用 ‘\n’相比,使用 std::endl 的代码完成此任务所需的时间将近是它的两倍。

更新于: 30-7-2019

952 次浏览

开启您的 职业生涯

通过完成该课程获得认证

开始
广告