Effective C++
文章平均质量分 96
于毒
这个作者很懒,什么都没留下…
展开
-
《Effective C++》第三版 第六章 继承与面向对象设计 32~35条例
确定你的 public 继承塑膜出 is-a 关系Make sure public inheritance models “is-a.”故事引入规则在《Some Must Watch While Some Must Sleep》( W. H. Freeman and Company,1974)这本书中,作者William Dement说了一个故事,谈到他曾经试图让学生记下课程中最重要的一些教导。书上说,他告诉他的班级,一般英国学生对于发生在1066年的黑斯廷斯(Hastings) 战役所知不多。原创 2022-02-17 19:10:20 · 511 阅读 · 2 评论 -
《Effective C++》第三版 第六章 继承与面向对象设计 36~40条例
条款32:确定你的 public 继承塑膜出 is-a 关系条款33:避免遮掩继承而来的名称条款34:区分接口继承和实现继承条款35:考虑 virtual 函数意外的其他选择条款36:绝不重新定义继承而来的 non-virtual 函数条款37:绝不重新定义继承而来的缺省参数值条款38:通过复合塑膜出 has-a 或 “根据某物实现出”条款39:明智而审慎地使用 private 继承条款40:明智而审慎地使用多重继承...原创 2022-01-25 01:42:54 · 512 阅读 · 0 评论 -
《Effective C++》第三版 第五章 实现
条款26:尽可能延后变量定义式的出现时间原因只要你定义了一个变量而其类型带有一个构造函数或析构函数,那么当程序控制流(control flow)到达这个变量定义式时,你边要承受构造成本,当这个变量离开其作用域时,你便承受析构成本。即使这个变量最终并未被使用,仍需消耗这些成本,所以应该避免这些情形。案例考虑以下函数://这个函数过早的定义变量 "encrypted"std::string encryptPassWord(const std::string& password){ usi原创 2022-01-18 18:02:23 · 588 阅读 · 0 评论 -
《Effective C++》第三版 第四章 设计与声明
前言软件设计就是 “令软件做出你希望它做的事情” 的步骤和做法,允许开发特殊接口,这些接口最终必须转换为C++声明式。本章以最重要、最适合任何接口设计的一个准则作为开端:“让接口容易被正确使用,不容易被误用”。这个准则设立了一个舞台,让其他更专精的准则针对更大范围的设计,包括:正确性、高效性、封装性、维护性、延展性,以及协议一致性。以下条例强调的是某些最重要的考虑,对某些频繁出现的错误提出警告,为class、function 和 template 设计者经常遇到的问题找到解决方案。条款18:让接口容原创 2022-01-06 19:30:07 · 769 阅读 · 0 评论