More Effective C++学习笔记
More Effective C++学习笔记笔记
班公湖里洗过脚
上马击狂胡,下马草军书
展开
-
06杂项讨论
我们终于抵达了最后一站。本章内含难以归类的准则。一开始的两个条款讨论C++软件开发过程如何设计出能够容纳日后变化的系统。是的,面向对象方法应用于系统构造的一个强大力量就是,它支持日后的变化。这些条款描述了一些特定步骤,你可以用来强化你的软件工事,抵抗这个拒绝停滞的世界带来的刀戟箭弩。接下来我将验证如何在同一个程序中结合 C 和 C++。这个需求导致语言上的额外考虑,不过 C++毕竟生存于真实世界之中,有时候我们必须面对这样的问题。最后,我把“C++标准规格”公开之后的各项语言变化做一番摘要整理。原创 2014-04-28 14:11:39 · 3379 阅读 · 0 评论 -
05技术(Techniques,Idioms,Patterns)技术
本章描述 C++程序员常常遭遇的一些问题的解决办法,这些解法都已获得证明。我把这样的解法称为techniques(技术),也有人称之为 idioms(惯用手法)或 patterns(模式)。不论你如何称呼它们,当你每天与软件开发过程中的各种小冲突搏斗时,本章提供的信息可以带给你很多帮助。它也应该使你觉悟,不论你打算做什么事,C++几乎都有某种方法可以完成它。原创 2014-04-25 08:41:28 · 2787 阅读 · 0 评论 -
04效率(Efficiency)效率
本章以两个角度对“效率”主题发动攻击。第一个角度和程序语言无关,其相关讨论适用于任何程序语言。针对书中所列的观念,C++有一个极佳的实现媒介:由于它对封装(encapsulation)的强力支持,我们有可能将低效率的 class 实现品以相同接口但拥有较佳算法和数据结构的新产品取代。原创 2014-04-21 14:11:43 · 2575 阅读 · 1 评论 -
03异常(Exceptions)异常
关于如何撰写 exceptions-safe 程序,我们有很多需要学习。以下所列条款只能架构出一个不很完全的“exception-safe 软件”设计指南。尽管如此,它们介绍了在C++中使用 exceptions 时的许多重要考虑。只要留意以下指引,你就可以改善软件的正确性、稳健性、效率,而且你可以避开许多因 exceptions 而产生的问题。原创 2014-04-19 09:54:47 · 2542 阅读 · 0 评论 -
02操作符(Operators)操作符
以下各个条款,我把焦点放在“重载操作符”被调用的时机、被调用的方法、它们的行为、它们应该如何与其他操作符产生关系,以及你如何夺取“重载操作符”的控制权。有了本章带给你的信息,你就可以像专家一样地将“重载操作符”玩弄于股掌之间了。原创 2014-04-18 08:53:32 · 1465 阅读 · 0 评论 -
01基础议题
这一章描述pointers和references 的差异,并告诉你它们的适当使用时机。本章介绍新的 C++转型(casts)语法,并解释为什么新式转型法比旧式的 C 转型法优越。本章也检验了 C 的数组概念及 C++的多态(polymorphism)概念,并说明为什么将这两者混用是不智之举。最后,本章讨论 default constructors(默认构造函数)的正方和反方意见,并提出一些建议做法,让你回避语言的束缚(因为在你不需要 default constructors 的情况下,C++也会给你一个)。原创 2014-04-17 08:24:33 · 2958 阅读 · 4 评论