此页目录

《Effective C++》中文版 改善程序与设计的55个具体做法 高清电子书带书签


书籍简介

  • 作者:[美国] Scott Meyers
  • 出版社:电子工业出版社
  • 出品方:博文视点
  • 副标题:改善程序与设计的55个具体做法
  • 原作名:Effective C++: 55 Specific Ways to Improve - Your Programs and Designs
  • 译者:侯捷
  • ISBN: 9787121029097

下载地址

https://pan.quark.cn/s/358982ffdcf3

内容简介

《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)和多线程(multithreading)。

《Effective C++》的重要特征包括: ·高效的 classes、functions、templates 和inheritance hierarchies(继承体系)方面的专家级指导。 ·崭新的 TR1 标准程序库功能应用,以及与既有标准程序库组件的比较。 ·洞察 C++和其他语言(例如Java、C#、C)之间的不同。此举有助于那些来自其他语言阵营的开发人员消化吸收 C++ 式的各种解法。

目录

shell
英中简繁术语对照14 

目录 27 

导读 31 

1. 自己习惯c++ 41 

01.视c++为一个语言联邦 41 

02. const,enum,inline 43 

03.尽可能使用const 47

04.确定对象初始化 56 

2 构造,析构,赋值 64

05.了解c++默默编写并调用那些函数 64 

06.不自动生成的函数,就明确拒绝 67 

07.多态基类声明virtual析构函数 70

08.别让异常逃离析构函数 74 

09.不在构造析构过程中调用virtual函数 78 

10.operator= 返回 reference to *this 82 

11. operator= 处理‘自我赋值’ 83 

12.复制对象勿忘其每一个成分 87 

3 资源管理 91 

13. 以对象管理资源 91 

14 资源管理类中小心coping行为 96 

15 对原始资源的访问 99 

16.承兑使用new和delete是要采取相同形式 103 

17.独立语句将newed对象植入智能指针 105 

4 设计与声名 108 

18.接口正确使用,不易被误用 108 

19.设计class犹如设计type 114 

20. 传引用替代传值 116 

21.必须返回对象时,别返回引用 120 

22.成员变量声明为private 124 

23.宁以non-member,non-friend 替换member函数 128 

24.所有参数皆需类型转换,采用non-member 函数 132 

25. 考虑写出一个不抛异常的swap函数 136 

5.实现 143

26:尽可能延后变量定义是的出现时间 143 

27:尽量少做转型动作 146 

28:避免返回handles指向对象内部成分 153 

29:为“异常安全”而努力是值得的 157

30:透彻了解inlining的里里外外 164 

31:文件间的编译依存关系降至最低 170 

6 继承与面向对象设计 179

32:public继承 180 

33:避免遮掩继承而来的名称 186 

34:区分接口继承和实现继承 191 

35:考虑virtual函数以外的其他选择 199 

36:不重新定义继承而来的non-virtual函数 208

37:不重定义继承而来的缺省参数值 210 

38:符合塑模出has-a 214

39:明智而审慎的使用private继承 217 

40:多重继承 222 

7 模板与泛型编程 229

41:隐式接口和编译器多台 229 

42:typename双重意义 233 

43:处理模板化基类内的名称 237 

44:与参数无关的代码抽离templates 242 

45:成员函数模板接受所有兼容类型 248

46:需要类型转换时请为模板定义非成员函数 252 

47:traits classes表现类型信息 256 

48:认识template元编程 263 

8 定制new和delete 269 

49:new-handler的行为 270 

50:new合理替换时机 277 

51:编写时需固守常规 282 

52:new与delete成对出现 286 

9 杂项讨论 292

53:不要轻忽编译器的警告 292 

54:熟悉TR1在内的标准程序库 293 

55:熟悉boost 299 

A 本书之外 303 

索引310