More Effective C++ - Scott Meyers

Scott Meyers

More Effective C++

35 New Ways to Improve Your Programs and Designs, PDF Version. Empfohlen von 18 bis 67 Jahre. 1. Auflage. Electronic book text. Sprachen: Englisch
eBook (pdf), 336 Seiten
EAN 9780321515810
Veröffentlicht Dezember 1995
Verlag/Hersteller Pearson ITP
41,49 inkl. MwSt.
Sofort Lieferbar (Download)
Teilen
Beschreibung

More than 150,000 copies in print! Praise for Scott Meyers' first book, Effective C++: "I heartily recommend Effective C++ to anyone who aspires to mastery of C++ at the intermediate level or above." - The C/C++ User's Journal From the author of the indispensable Effective C++, here are 35 new ways to improve your programs and designs. Drawing on years of experience, Meyers explains how to write software that is more effective: more efficient, more robust, more consistent, more portable, and more reusable. In short, how to write C++ software that's just plain better. More Effective C++ includes: - Proven methods for improving program efficiency, including incisive examinations of the time/space costs of C++ language features - Comprehensive descriptions of advanced techniques used by C++ experts, including placement new, virtual constructors, smart pointers, reference counting, proxy classes, and double-dispatching - Examples of the profound impact of exception handling on the structure and behavior of C++ classes and functions - Practical treatments of new language features, including bool, mutable, explicit, namespaces, member templates, the Standard Template Library, and more. If your compilers don't yet support these features, Meyers shows you how to get the job done without them. More Effective C++ is filled with pragmatic, down-to-earth advice you'll use every day. Like Effective C++ before it, More Effective C++ is essential reading for anyone working with C++.

Portrait

Scott Meyers is one of the world's foremost authorities on C++, providing training and consulting services to clients worldwide. He is the author of the best-selling Effective C++ series of books (Effective C++, More Effective C++, and Effective STL) and of the innovative Effective C++ CD. He is consulting editor for Addison Wesley's Effective Software Development Series and serves on the Advisory Board for The C++ Source (http://www.artima.com/cppsource). He holds a Ph.D. in Computer Science from Brown University. His web site is http://www.aristeia.com.

Inhaltsverzeichnis

Acknowledgments xi Introduction 1 Basics 9 Item 1: Distinguish between pointers and references. 9 Item 2: Prefer C++-style casts. 12 Item 3: Never treat arrays polymorphically. 16 Item 4: Avoid gratuitous default constructors. 19 Operators 24 Item 5: Be wary of user-defined conversion functions. 24 Item 6: Distinguish between prefix and postfix forms of increment and decrement operators. 31 Item 7: Never overload &&, ||, or ,. 35 Item 8: Understand the different meanings of new and delete. 38 Exceptions 44 Item 9: Use destructors to prevent resource leaks. 45 Item 10: Prevent resource leaks in constructors. 50 Item 11: Prevent exceptions from leaving destructors. 58 Item 12: Understand how throwing an exception differs from passing a parameter or calling a virtual function. 61 Item 13: Catch exceptions by reference. 68 Item 14: Use exception specifications judiciously. 72 Item 15: Understand the costs of exception handling. 78 Efficiency 81 Item 16: Remember the 80-20 rule. 82 Item 17: Consider using lazy evaluation. 85 Item 18: Amortize the cost of expected computations. 93 Item 19: Understand the origin of temporary objects. 98 Item 20: Facilitate the return value optimization. 101 Item 21: Overload to avoid implicit type conversions. 105 Item 22: Consider using op= instead of stand-alone op. 107 Item 23: Consider alternative libraries. 110 Item 24: Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTTI. 113 Techniques 123 Item 25: Virtualizing constructors and non-member functions. 123 Item 26: Limiting the number of objects of a class. 130 Item 27: Requiring or prohibiting heap-based objects. 145 Item 28: Smart pointers. 159 Item 29: Reference counting. 183 Item 30: Proxy classes. 213 Item 31: Making functions virtual with respect to more than one object. 228 Miscellany 252 Item 32: Program in the future tense. 252 Item 33: Make non-leaf classes abstract. 258 Item 34: Understand how to combine C++ and C in the same program. 270 Item 35: Familiarize yourself with the language standard. 277 Recommended Reading 285 An auto_ptr Implementation 291 General Index 295 Index of Example Classes, Functions, and Templates 313

Technik
Sie können dieses eBook zum Beispiel mit den folgenden Geräten lesen:
• tolino Reader 
Laden Sie das eBook direkt über den Reader-Shop auf dem tolino herunter oder übertragen Sie das eBook auf Ihren tolino mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions. 
• Sony Reader & andere eBook Reader 
Laden Sie das eBook direkt über den Reader-Shop herunter oder übertragen Sie das eBook mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions auf ein Standard-Lesegeräte. 
• Tablets & Smartphones 
Möchten Sie dieses eBook auf Ihrem Smartphone oder Tablet lesen, finden Sie hier unsere kostenlose Lese-App für iPhone/iPad und Android Smartphone/Tablets. 
• PC & Mac 
Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions, Sony READER FOR PC/Mac oder direkt über Ihre eBook-Bibliothek in Ihrem Konto unter „Meine eBooks“ -  „Sofort online lesen über Meine Bibliothek“.
 
Bitte beachten Sie, dass die Kindle-Geräte das Format nicht unterstützen und dieses eBook somit nicht auf Kindle-Geräten lesbar ist.
Hersteller
Libri GmbH
Friedensallee 273

DE - 22763 Hamburg

E-Mail: GPSR@libri.de

Website: www.libri.de