代譯者序
序
第0章 簡介
0. 1 關于示例代碼
0. 2 本書的組織
0. 3 問題
0. 4 語言規(guī)則
第1章 抽象
1. 1 有關電話號碼的抽象模型
1. 2 抽象模型間的關系
1. 3 請考慮邊界條件
1. 4 使用CRC卡片來輔助設計
1. 5 小結
1. 6 問題
第2章 類
2. 1 構造函數(shù)
2. 2 賦值
2. 3 公用數(shù)據(jù)
2. 4 隱式類型轉換
2. 5 操作符重載:成員或非成員?
2. 6 重載. 缺省值以及省略符
2. 7 Const
2. 8 返回值為引用
2. 9 靜態(tài)對象的構造
2. 10 小結
2. 11 問題
第3章 句柄
3. 1 一個String類
3. 2 使用計數(shù)器來避免多份拷貝
3. 3 避免進行重編譯:Cheshire Cat
3. 4 使用句柄來隱藏設計
3. 5 多種實現(xiàn)
3. 6 作為對象的句柄
3. 7 綜述
3. 8 小結
3. 9 問題
第4章 繼承
4. 1 is-a關系
4. 2 公有繼承
4. 3 私有繼承
4. 4 保護型繼承
4. 5 與基類抽象的一致性
4. 6 純虛函數(shù)
4. 7 有關繼承的細節(jié)和陷阱
4. 8 小結
4. 9 問題
第5章 多重繼承
5. 1 作為交集的多重繼承
5. 2 虛基類
5. 3 一些有關多重繼承的細節(jié)問題
5. 4 小結
5. 5 問題
第6章 考慮繼承的設計
6. 1 被保護的接口
6. 2 我們的設計是否應該考慮到繼承?
6. 3 一些為繼承所做的設計的例子
6. 4 結論
6. 5 小結
6. 6 問題
第7章 模板
7. 1 模板類Pair
7. 2 一些有關模板的細節(jié)
7. 3 模板的實例化
7. 4 智能指針
7. 5 作為模板參數(shù)的表達式
7. 6 模板函數(shù)
7. 7 小結
7. 8 問題
第8章 模板的高級用法
8. 1 使用了模板的容器類
8. 2 示例:Block
8. 3 有關Block的設計細節(jié)
8. 4 帶有迭代器的容器:List
8. 5 迭代器的設計細節(jié)
8. 6 性能上的考慮
8. 7 對模板參數(shù)的限制
8. 8 模板特化
8. 9 小結
8. 10 問題
第9章 重用
9. 1 發(fā)現(xiàn)和獲得
9. 2 健壯性
9. 3 內存管理
9. 4 可選的內存分配方案
9. 5 傳遞參數(shù)給operatornew
9. 6 管理外部資源
9. 7 尋找有關內存的bug
9. 8 名字沖突
9. 9 性能
9. 10 不要去猜想, 而應該度量!
9. 11 算法
9. 12 動態(tài)內存分配中的瓶頸
9. 13 內嵌
9. 14 Tiemann法則
9. 15 小結
9. 16 問題
第10章 異常
10. 1 一個負面的聲明
10. 2 為什么需要異常?
10. 3 一個異常的例子
10. 4 異常只應該用來表述異常情況
10. 5 理解異常
10. 6 責任評估
10. 7 設計異常對象
10. 8 小結
10. 9 問題
第11章 向C++移植
11. 1 選擇使用C++
11. 2 采用C++
11. 3 設計和實現(xiàn)
11. 4 開發(fā)一個堅實的基礎
11. 5 相關的思考
11. 6 小結
11. 7 問題