More Effective C++: 35 New Ways to Improve Your Programs and Designs (Paperback)
暫譯: 更有效的 C++:35 種提升程式與設計的方法 (平裝本)

Scott Meyers

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

商品描述

 

Table Of Contents

Acknowledgments.
Introduction.
Basics.

 

 

ITEM 1. Distinguish Between Pointers and References.
ITEM 2. Prefer C++-Style Casts.
ITEM 3. Never Treat Arrays Polymorphically.
ITEM 4. Avoid Gratuitous Default Constructors.


Operators.

 

 

ITEM 5. Be Wary of User-Defined Conversion Functions.
ITEM 6. Distinguish Between Prefix and Postfix Forms of Increment and decrement operators.
ITEM 7. Never Overload &&, ||, or,.
ITEM 8. Understand the Different Meanings of New and Delete.


Exceptions.

 

 

ITEM 9. Use Destructors to Prevent Resource Leaks.
ITEM 10. Prevent Resource Leaks in Constructors.
ITEM 11. Prevent Exceptions from Leaving Destructors.
ITEM 12. Understand How Throwing an Exception Differs from Passing a Parameter or Calling a Virtual Function.
ITEM 13. Catch Exceptions by Reference.
ITEM 14. Use Exception Specifications Judiciously.
ITEM 15. Understand the Costs of Exception Handling.


Efficiency.

 

 

ITEM 16. Remember the 80-20 Rule.
ITEM 17. Consider Using Lazy Evaluation.
ITEM 18. Amortize the Cost of Expected Computations.
ITEM 19. Understand the Origin of Temporary Objects.
ITEM 20. Facilitate the Return Value Optimization.
ITEM 21. Overload to Avoid Implicit Type Conversions.
ITEM 22. Consider Using Op= Instead of Stand-Alone Op.
ITEM 23. Consider Alternative Libraries.
ITEM 24. Understand the Costs of Virtual Functions, Multiple Inheritance, Virtual Base Classes, and RTTI.


Techniques.

 

 

ITEM 25. Virtualizing Constructors and Non-Member Functions.
ITEM 26. Limiting the Number of Objects of a Class.
ITEM 27. Requiring or Prohibiting Heap-Based Objects.
ITEM 28. Smart Pointers.
ITEM 29. Reference Counting.
ITEM 30. Proxy Classes.
ITEM 31. Making Functions Virtual With Respect to More Than One Object.


Miscellany.

 

 

ITEM 32. Program in the Future Tense.
ITEM 33. Make Non-Leaf Classes Abstract.
ITEM 34. Understand How to Combine C++ and C in the Same Program.
ITEM 35. Familiarize Yourself With the Language Standard.


Recommended Reading.
An Auto_Ptr Implementation.
General Index.
Index of Example Classes, Functions, and Templates. 020163371XT04062001


Back to Top

 

 

商品描述(中文翻譯)

 

目錄

感謝辭。

引言。

基礎知識。

 

 

項目 1. 區分指標和引用。

項目 2. 優先使用 C++ 風格的類型轉換。

項目 3. 切勿將陣列視為多型。

項目 4. 避免不必要的預設建構子。



運算子。

 

 

項目 5. 小心使用自定義轉換函數。

項目 6. 區分遞增和遞減運算子的前綴和後綴形式。

項目 7. 切勿重載 &&、|| 或 ,。

項目 8. 理解 new 和 delete 的不同含義。



異常處理。

 

 

項目 9. 使用解構子來防止資源洩漏。

項目 10. 在建構子中防止資源洩漏。

項目 11. 防止異常從解構子中傳出。

項目 12. 理解拋出異常與傳遞參數或調用虛擬函數的不同。

項目 13. 通過引用捕獲異常。

項目 14. 明智地使用異常規範。

項目 15. 理解異常處理的成本。



效率。

 

 

項目 16. 記住 80-20 法則。

項目 17. 考慮使用延遲評估。

項目 18. 平攤預期計算的成本。

項目 19. 理解臨時物件的來源。

項目 20. 促進返回值優化。

項目 21. 重載以避免隱式類型轉換。

項目 22. 考慮使用 Op= 而不是獨立的 Op。

項目 23. 考慮替代庫。

項目 24. 理解虛擬函數、多重繼承、虛擬基類和 RTTI 的成本。



技術。

 

 

項目 25. 虛擬化建構子和非成員函數。

項目 26. 限制類別的物件數量。

項目 27. 要求或禁止基於堆的物件。

項目 28. 智能指標。

項目 29. 參考計數。

項目 30. 代理類別。

項目 31. 使函數對多個物件虛擬化。



雜項。

 

 

項目 32. 用未來式編程。

項目 33. 將非葉類別設為抽象。

項目 34. 理解如何在同一程序中結合 C++ 和 C。

項目 35. 熟悉語言標準。



推薦閱讀。

Auto_Ptr 實作。

一般索引。

範例類別、函數和模板索引。 020163371XT04062001





回到頂部

 

 

最後瀏覽商品 (20)