C++核心准则​SL.io.50:避免使用endl

面向对象思考

共 459字,需浏览 1分钟

 ·

2020-10-30 21:59

SL.io.50: Avoid endl

SL.io.50:避免使用endl


Reason(原因)

The endl manipulator is mostly equivalent to '\n' and "\n"; as most commonly used it simply slows down output by doing redundant flush()s. This slowdown can be significant compared to printf-style output.

endl操纵符差不多等于是'\ n'和“ \ n”;使用它最常见的结果是通过执行多余的flush()来减慢输出速度。与printf样式的输出相比,这种速度下降可能会显著。


Example(示例)

cout << "Hello, World!" << endl;    // two output operations and a flush
cout << "Hello, World!\n"; // one output operation and no flush
Note(注意)

For cin/cout (and equivalent) interaction, there is no reason to flush; that's done automatically. For writing to a file, there is rarely a need to flush.

对于cin / cout(和等效的)交互,没有理由刷新;那是自动完成的。对于文件写入,几乎不需要刷新。


Note(注意)

Apart from the (occasionally important) issue of performance, the choice between '\n' and endl is almost completely aesthetic.

除了(有时很重要的)性能问题之外,在'\ n'和endl之间进行选择几乎是完全取决于美感的。


原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#slio50-avoid-endl


新书介绍

《实战Python设计模式》是作者最近出版的新书,拜托多多关注!

本书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。

对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。




觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!



浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报