优先使用iostream进行I / O
文章插图
SL.io.3: Prefer iostreams for I/OSL.io.3:优先使用iostream进行I / OReason(原因)
iostreams are safe, flexible, and extensible.
iostream安全 , 灵活且可扩展 。
Example(示例)
// write a complex number:complex
complex is a user-defined type and its I/O is defined without modifying the iostream library.
complex是用户定义的类型 , 无需修改iostream库即可定义其I / O 。
Example(示例)
// read a file of complex numbers:for (complex
Exception(例外)
??? performance ???
??? 性能???
Discussion: iostreams vs. the printf() family
讨论:iostreams与printf()函数群
It is often (and often correctly) pointed out that the printf() family has two advantages compared to iostreams: flexibility of formatting and performance. This has to be weighed against iostreams advantages of extensibility to handle user-defined types, resilient against security violations, implicit memory management, and locale handling.
人们经常(经常正确地)指出 , 与iostream相比 , printf()函数群具有两个优点:格式化的灵活性和性能 。 必须权衡iostream的优势:处理用户定义的类型时的可扩展性 , 可抵御安全性违规 , 隐式内存管理和区域设置处理 。
If you need I/O performance, you can almost always do better than printf().
如果需要保证I / O性能 , iostream几乎可以总是比printf()更好 。
gets(), scanf() using %s, and printf() using %s are security hazards (vulnerable to buffer overflow and generally error-prone). C11 defines some "optional extensions" that do extra checking of their arguments. If present in your C library, gets_s(), scanf_s(), and printf_s() might be safer alternatives, but they are still not type safe.
使用%s的gets() , scanf()和使用%s的printf()都有安全隐患(很容易造成缓冲区溢出并且通常容易出错) 。 C11定义了一些“可选扩展” , 对它们的参数进行了额外的检查 。 如果是在使用C语言库 , gets_s() , scanf_s()和printf_s()可能是更安全的选项 , 但它们仍然不是类型安全的 。
Enforcement(实施建议)
Optionally flag
(可选)标记
原文链接
【优先使用iostream进行I / O】#slio3-prefer-iostreams-for-io
新书介绍
《实战Python设计模式》是作者最近出版的新书 , 拜托多多关注!
文章插图
本书利用Python 的标准GUI 工具包tkinter , 通过可执行的示例对23 个设计模式逐个进行说明 。 这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明 , 让读者明白在编写代码时如何判断使用设计模式的利弊 , 并合理运用设计模式 。
对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础 , 迅速构建自己的系统架构 。
觉得本文有帮助?请分享给更多人 。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发 , 面向对象思考!
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- QuestMobile|QuestMobile:百度智能小程序月人均使用个数达9.6个
- 轻松|使用 GIMP 轻松地设置图片透明度
- 电池容量|Windows 自带功能查看笔记本电脑电池使用情况,你的容量还好吗?
- 撕破脸|使用华为设备就罚款87万,英政府果真要和中国“撕破脸”?
- 冲突|智能互联汽车:通过数据托管模式解决数据使用方面的冲突
- 鼓励|(经济)商务部:鼓励引导商务领域减少使用塑料袋等一次性塑料制品
- 机身|轻松使用一整天,OPPO K7x给你不断电体验
- 屏幕|一台realmeq2的两天使用体验