음악, 삶, 개발

More Effective C++ 목차 본문

개발 공부/More Effective C++

More Effective C++ 목차

Lee_____ 2020. 9. 16. 05:05

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