| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第一章
基本问题
陷阱1:注释泛滥
陷阱2:魔数
陷阱3:全局变量
陷阱4:没有区分重载和默认初始化
陷阱5:误解引用
陷阱6:误解const
陷阱7:忽略基本语言细节
陷阱8:无法区分访问和可见性
陷阱9:使用糟糕的语言
陷阱10:忽略习惯用语
陷阱11:不必要的小聪...
语法
陷阱13:混淆数组/初始值
陷阱14:求值顺序不确定
陷阱15:优先级问题
陷阱16:for语句混乱
陷阱17:最长符号问题
陷阱18:创造性地排列声明说明符
陷阱19:函数/对象不明确
陷阱20:类型限定符迁移
陷阱21:自我初始化
陷阱22:Static和Extern类型...
预处理器
陷阱25:#define字面值
陷阱26:#define伪函数
陷阱27:滥用#if
陷阱28:断言的副作用
第4章
转换
陷阱29:通过void*转换
陷阱30:切割
陷阱31:误解指针到常量的转换
陷阱32:误解指向指针的指针到常量的转换
陷阱33:误解指向指针的指针到基类的转换
陷阱34:指向多维数组的指针问题
陷阱35:未经检查向下转换类型
陷阱36:误用转换运算符
陷阱37:无意之中的构造函数转换
初始化
陷阱47:混淆赋值/初始化
陷阱48:变量作用域的限定不正确
陷阱49:C++对复制操作的偏执
陷阱50:类对象的按位复制
陷阱51:在构造函数中混淆初始化和赋值
陷阱52:成员初始化列表的不一致排序
陷阱53:虚拟基类默认初始化
陷阱54:副本构造函数基类初始化
陷阱55:运行时静态初始化顺...
内存和资源管理
陷阱60:错误地区分标量和数组分配
陷阱61:检查内存分配错误
陷阱62:替换全局new和delete
陷阱63:混淆成员new和delete的作用域和激活
陷阱64:引发字符串字面值
陷阱65:不正确的异常机制
陷阱66:滥用局部地址
陷阱67:使用资源获取即初始化的失败
陷阱68:...
多态
陷阱69:类型代码
陷阱70:非虚拟基类析构函数
陷阱71:隐藏非虚拟函数
陷阱72:Template
Method过于灵活
陷阱73:重载虚拟函数
陷阱74:带有默认参数初始值的虚拟函数
陷阱75:在构造函数和析构函数中调用虚拟函数
陷阱76:虚拟赋值
陷阱77:没有区分重载、覆盖和隐藏
陷阱78:错误理解虚拟函数和覆盖
陷阱79:支配问题
第8章
类设计 层次结构设计
陷阱80:Get/Set接口
陷阱81:定常和引用数据成员
陷阱82:没有理解定常成员函数的含义
陷阱83:没有区分聚合与“熟悉”
陷阱84:不正确的运算符重载
陷阱85:优先级和重载
陷阱86:友元与成员运算符
陷阱87:增量和减量运算符问题
陷阱88:误解模板化的复制操作
陷阱89:类对象数组
陷阱90:不正确的容器替换
陷阱91:错误地理解受保护访问
陷阱92:为代码重用而使用公共继承
陷阱93:具体公共基类
陷阱94:错误使用退化层次结构
陷阱95:滥用继承
陷阱96:基于类型的控制结构
陷阱97:“宇宙”层次结构
陷阱98:提出对...