C++核心准则?SL.io.1:只在必须时使用字符级别的输入
文章插图
SL.io.1: Use character-level input only when you have toSL.io.1:只在必须的时候使用字符级别的输入Reason(原因)
Unless you genuinely just deal with individual characters, using character-level input leads to the user code performing potentially error-prone and potentially inefficient composition of tokens out of characters.
除非你就是需要处理单独的字符 , 除非您真的只处理单个字符 , 否则使用字符级别输入有可能导致用户代码执行容易出错 , 并导致字符中标记的处理效率低下 。
Example(示例)
char c;char buf[128];int i = 0;while (cin.get(c) if (i == 128) {// ... handle too long string ....}
Better (much simpler and probably faster):
【C++核心准则?SL.io.1:只在必须时使用字符级别的输入】好一些(更简单而且可能更高效)
string s;s.reserve(128);cin >> s;
and the reserve(128) is probably not worthwhile.
同时 , reserve(120)可能并不值得 。
Enforcement(实施建议)
???
原文链接
#slio1-use-character-level-input-only-when-you-have-to
新书介绍
《实战Python设计模式》是作者最近出版的新书 , 拜托多多关注!
文章插图
本书利用Python 的标准GUI 工具包tkinter , 通过可执行的示例对23 个设计模式逐个进行说明 。 这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明 , 让读者明白在编写代码时如何判断使用设计模式的利弊 , 并合理运用设计模式 。
对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础 , 迅速构建自己的系统架构 。
觉得本文有帮助?请分享给更多人 。
关注微信公众号【面向对象思考】轻松学习每一天!
面向对象开发 , 面向对象思考!
- 王兴称美团优选目前重点是建设核心能力;苏宁旗下云网万店融资60亿元;阿里小米拟增资居然之家|8点1氪 | 美团
- 体验|vivo的OriginOS怎么样?体验报告来袭:虽惊艳但核心问题未解决
- 山东国晶|山东企业攻克OLED面板蒸镀源核心技术瓶颈
- 菜鸟学编程,不懂C++ this指针?还不赶快来学一学
- Linux 之父对 C++ 进行了炮轰,C++不值得推荐?
- 媒介|智媒介:软文发布文案的核心写作技巧介绍
- C/C++协程学习笔记丨C/C++实现协程及原理分析视频
- 第一章 1.4 信号,槽和元对象
- C++核心准则?:标准库array或vector好于C数组
- 「书讯」移动互联网对企业核心能力影响研究