More Exceptional C++ (Paperback)

Herb Sutter

  • 出版商: Addison Wesley
  • 出版日期: 2001-12-17
  • 售價: $1,723
  • 貴賓價: 9.5$1,637
  • 語言: 英文
  • 頁數: 304
  • 裝訂: Paperback
  • ISBN: 020170434X
  • ISBN-13: 9780201704341
  • 相關分類: C++ 程式語言
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

Table of Contents

Foreword.
Preface.

Generic Programming and the C++ Standard Library.

Item 1: Switching Streams (2 / 10).
Item 2: Predicates, Part 1: What remove() Removes (4 / 10).
Item 3: Predicates, Part 2: Matters of State (7 / 10).
Item 4: Extensible Templates: Via Inheritance or Traits? (7 / 10).
Item 5: Typename (7 / 10).
Item 6: Containers, Pointers, and Containers That Aren't (5 / 10).
Item 7: Using Vector and Deque (3 / 10).
Item 8: Using Set and Map (5 / 10).
Item 9: Equivalent Code? (5 / 10).
Item 10: Template Specialization and Overloading (6 / 10).
Item 11: Mastermind (8 / 10).


Optimization and Performance.

Item 12: Inline (4 / 10).
Item 13: Lazy Optimization, Part 1: A Plain Old String (2 / 10).
Item 14: Lazy Optimization, Part 2: Introducing Laziness (3 / 10).
Item 15: Lazy Optimization, Part 3: Iterators and References (6 / 10).
Item 16: Lazy Optimization, Part 4: Multi-Threaded Environments (8 / 10).


Exception Safety Issues and Techniques.

Item 17: Constructor Failures, Part 1: Object Lifetimes (4 / 10).
Item 18: Constructor Failures, Part 2: Absorption? (7 / 10).
Item 19: Uncaught Exceptions (6 / 10).
Item 20: An Unmanaged Pointer Problem, Part 1: Parameter Evaluation (6 / 10).
Item 21: An Unmanaged Pointer Problem, Part 2: What About auto_ptr? (8 / 10).
Item 22: Exception-Safe Class Design, Part 1: Copy Assignment (7 / 10).
Item 23: Exception-Safe Class Design, Part 2: Inheritance (6 / 10).


Inheritance and Polymorphism.

Item 24: Why Multiple Inheritance? (6 / 10).
Item 25: Emulating Multiple Inheritance (5 / 10).
Item 26: Multiple Inheritance and the Siamese Twin Problem (4 / 10).
Item 27: (Im)pure Virtual Functions (7 / 10).
Item 28: Controlled Polymorphism (3 / 10).


Memory and Resource Management.

Item 29: Using auto_ptr (5 / 10).
Item 30: Smart Pointer Members, Part 1: A Problem with auto_ptr (5 / 10).
Item 31: Smart Pointer Members, Part 2: Toward a ValuePtr (6 / 10).


Free Functions and Macros.

Item 32: Recursive Declarations (6 / 10).
Item 33: Simulating Nested Functions (5 / 10).
Item 34: Preprocessor Macros (4 / 10).
Item 35: #Definition (4 / 10).


Miscellaneous Topics.

Item 36: Initialization (3 / 10).
Item 37: Forward Declarations (3 / 10).
Item 38: Typedef (3 / 10).
Item 39: Namespaces, Part 1: Using-Declarations and Using-Directives (2 / 10).
Item 40: Namespaces, Part 2: Migrating to Namespaces (4 / 10).


Afterword.
Appendixes,
Appendix A. Optimizations That Aren't (In a Multithreaded World).
Appendix B. Test Results for Single- versus Multi-Thread-Safe String Implementations.
Bibliography.

商品描述(中文翻譯)

目錄


前言。
前言。

泛型編程和C++標準庫。


項目1:切換流(2/10)。
項目2:謂詞,第1部分:remove()的作用(4/10)。
項目3:謂詞,第2部分:狀態問題(7/10)。
項目4:可擴展模板:通過繼承還是特性?(7/10)。
項目5:Typename(7/10)。
項目6:容器,指針和非容器(5/10)。
項目7:使用Vector和Deque(3/10)。
項目8:使用Set和Map(5/10)。
項目9:等效代碼?(5/10)。
項目10:模板特化和重載(6/10)。
項目11:猜數字遊戲(8/10)。



優化和性能。


項目12:內聯(4/10)。
項目13:懶惰優化,第1部分:一個普通的字符串(2/10)。
項目14:懶惰優化,第2部分:引入懶惰(3/10)。
項目15:懶惰優化,第3部分:迭代器和引用(6/10)。
項目16:懶惰優化,第4部分:多線程環境(8/10)。



異常安全問題和技巧。


項目17:構造函數失敗,第1部分:對象生命週期(4/10)。
項目18:構造函數失敗,第2部分:吸收?(7/10)。
項目19:未捕獲的異常(6/10)。
項目20:一個未管理的指針問題,第1部分:參數評估(6/10)。
項目21:一個未管理的指針問題,第2部分:auto_ptr怎麼樣?(8/10)。
項目22:異常安全的類設計,第1部分:拷貝賦值(7/10)。
項目23:異常安全的類設計,第2部分:繼承(6/10)。



繼承和多態。


項目24:為什麼要多重繼承?(6/10)。
項目25:模擬多重繼承(5/10)。
項目26:多重繼承和連體雙胞胎問題(4/10)。
項目27:(非)純虛函數(7/10)。
項目28:受控多態性(3/10)。



內存和資源管理。


項目29:使用auto_ptr(5/10)。
項目30:智能指針成員,第1部分:auto_ptr的問題(5/10)。
項目31:智能指針成員,第2部分:向ValuePtr邁進(6/10)。



自由函數和宏。


項目32:遞歸聲明(6/10)。
項目33:模擬嵌套函數(5/10)。
項目34:預處理器宏(4/10)。
項目35:#定義(4/10)。



其他主題。


項目36:初始化(3/10)。
項目37:前向聲明(3/10)。
項目38:typedef(3/10)。
項目39:命名空間,第1部分:使用聲明和使用指令(2/10)。
項目40:命名空間,第2部分:遷移到命名空間(4/10)。



後記。
附錄,
附錄A. 在多線程世界中不適用的優化。
附錄B. 單線程與多線程安全字符串實現的測試結果。
參考文獻。