More Effective C++ - Meyers, Scott

Scott Meyers 

More Effective C++

Thirty-five New Ways to Improve Your Programs and Designs

Broschiertes Buch
 
Sprache: Englisch
versandkostenfrei
innerhalb Deutschlands
32 ebmiles sammeln
Statt EUR 36,95*
EUR 31,95
Sofort lieferbar
Alle Preise inkl. MwSt.
*Früherer Preis
-14 %


Andere Kunden interessierten sich auch für

More Effective C++

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++.


Produktinformation

  • Abmessung: 231mm x 188mm x 30mm
  • Gewicht: 695g
  • ISBN-13: 9780201633719
  • ISBN-10: 020163371X
  • Best.Nr.: 06421100
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.

Inhaltsangabe

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
Mehr von