当前位置:首页 > 工业技术
C++程序设计陷阱
C++程序设计陷阱

C++程序设计陷阱PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)Stephen C. Dewhurst著;陈君等译
  • 出 版 社:北京:中国青年出版社
  • 出版年份:2003
  • ISBN:7500651724
  • 页数:310 页
图书介绍:本书将常见问题进行分类,并详细说明避免问题出现的方法。问题的内容涉及语法、预处理、转换、初始化、内存和资源管理、类设计和分层设计,而且每个问题及其解决方案都通过代码实例进行详细的解释说明。
《C++程序设计陷阱》目录

目录 1

第一章基本问题 1

陷阱1:注释泛滥 1

陷阱2:魔数 4

陷阱3:全局变量 6

陷阱4:没有区分重载和默认初始化 9

陷阱5:误解引用 10

陷阱6:误解const 14

陷阱7:忽略基本语言细节 15

陷阱8:无法区分访问和可见性 20

陷阱9:使用糟糕的语言 25

陷阱10:忽略习惯用语 27

陷阱11:不必要的小聪明 31

陷阱12:青春期行为 33

第2章语法 35

陷阱13:混淆数组 初始值 35

陷阱14:求值顺序不确定 36

陷阱15:优先级问题 42

陷阱16:for语句混乱 45

陷阱17:最长符号问题 49

陷阱18:创造性地排列声明说明符 50

陷阱19:函数 对象不明确 52

陷阱20:类型限定符迁移 52

陷阱21:自我初始化 53

陷阱22:Static和Extern类型 55

陷阱23:运算符函数查询异常 56

陷阱24:运算符->的微妙之处 59

陷阱25:#define字面值 61

第3章预处理器 61

陷阱26:#define伪函数 64

陷阱27:滥用#if 66

第6章 内存和资源管理 1 67

陷阱28:断言的副作用 72

第4章转换 75

陷阱29:通过void*转换 75

陷阱30:切割 79

陷阱31:误解指针到常量的转换 81

陷阱32:误解指向指针的指针到常量的转换 82

陷阱33:误解指向指针的指针到基类的转换 86

陷阱34:指向多维数组的指针问题 87

陷阱35:未经检查向下转换类型 89

陷阱36:误用转换运算符 90

陷阱37:无意之中的构造函数转换 95

陷阱38:多重继承下的转换 99

陷阱39:转换不完整的类型 100

陷阱40:旧样式转换 102

陷阱41:静态转换 103

陷阱42:形参的临时初始化 106

陷阱43:临时对象生命周期 110

陷阱44:引用和临时变量 113

陷阱45:dynamic_cast的不确定问题 117

陷阱46:误解逆变性 121

第5章初始化 125

问题47:混淆赋值 初始化 125

问题48:变量作用域的限定不正确 129

问题49:C++对复制操作的偏执 132

陷阱50:类对象的按位复制 136

陷阱51:在构造函数中混淆初始化和赋值 139

陷阱52:成员初始化列表的不一致排序 141

陷阱53:虚拟基类默认初始化 142

陷阱54:副本构造函数基类初始化 148

陷阱55:运行时静态初始化顺序 151

陷阱56:直接对副本初始化 154

陷阱57:直接参数初始化 157

陷阱58:忽略返回值优化 159

陷阱59:在构造函数中初始化静态成员 163

陷阱60:错误地区分标量和数组分配 167

陷阱61:检查内存分配错误 171

陷阱62:替换全局new和delete 173

陷阱63:混淆成员new和delete的作用域和激活 177

陷阱64:引发字符串字面值 178

陷阱65:不正确的异常机制 182

陷阱66:滥用局部地址 186

陷阱67:使用资源获取即初始化的失败 191

陷阱68:auto_ptr的不适当使用 196

第7章 多态 199

陷阱69:类型代码 199

陷阱70:非虚拟基类析构函数 205

陷阱71:隐藏非虚拟函数 210

陷阱72:Template Method过于灵活 213

陷阱73:重载虚拟函数 215

陷阱74:带有默认参数初始值的虚拟函数 216

陷阱75:在构造函数和析构函数中调用虚拟函数 218

陷阱76:虚拟赋值 221

陷阱77:没有区分重载、覆盖和隐藏 225

陷阱78:错误理解虚拟函数和覆盖 230

陷阱79:支配问题 236

第8章类设计 241

陷阱80:Get/Set接口 241

陷阱81:定常和引用数据成员 245

陷阱82:没有理解定常成员函数的含义 248

陷阱83:没有区分聚合与“熟悉” 253

陷阱84:不正确的运算符重载 258

陷阱85:优先级和重载 262

陷阱86:友元与成员运算符 263

陷阱87:增量和减量运算符问题 264

陷阱88:误解模板化的复制操作 268

第9章层次结构设计 273

陷阱89:类对象数组 273

陷阱90:不正确的容器替换 275

陷阱91:错误地理解受保护访问 279

陷阱92:为代码重用而使用公共继承 283

陷阱93:具体公共基类 287

陷阱94:错误使用退化层次结构 288

陷阱95:滥用继承 288

陷阱96:基于类型的控制结构 293

陷阱97:“宇宙”层次结构 296

陷阱98:提出对象的个人问题 300

陷阱99:能力查询 302

参考书目 309

相关图书
作者其它书籍
返回顶部