Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Effective C++ 3rd Edition

55 Specific Ways to Improve Your Programs and Designs

Paperback Engels 2005 3e druk 9780321334879
Verwachte levertijd ongeveer 11 werkdagen

Samenvatting

The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers' practical approach to C++ describes the rules of thumb used by the experts - the things they almost always do or almost always avoid doing - to produce clear, correct, efficient code.

The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.

Important features of Effective C++ include:
- Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
- Applications of new -TR1- standard library functionality, along with comparisons to existing standard library components.
- Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate the C++ way of doing things.

Specificaties

ISBN13:9780321334879
Taal:Engels
Bindwijze:paperback
Aantal pagina's:297
Druk:3
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Over Scott Meyers

Scott Meyers is one of the world's foremost experts on C++. He's best known for his chart-topping Effective C++ books—Effective Modern C++ (new!), Effective C++, More Effective C++, and Effective STL. He also published the annotated training materials, Overview of the New C++ (C++11/14) and Effective C++ in an Embedded Environment. Scott founded and is Consulting Editor for the Effective Software Development Series, and he conceived the boutique conferences The C++ Seminar and C++ and Beyond. A programmer since 1972, he holds an M.S. in Computer Science from Stanford University and a Ph.D. from Brown University. Scott maintains a blog for people interested in his publications and other professional activities and interests. His web site is aristeia.com.

Andere boeken door Scott Meyers

Inhoudsopgave

Preface
Acknowledgments
Introduction

Chapter 1: Accustoming Yourself to C++
Item 1: View C++ as a federation of languages.
Item 2: Prefer consts, enums, and inlines to #defines.
Item 3: Use const whenever possible.
Item 4: Make sure that objects are initialized before they're used.

Chapter 2: Constructors, Destructors, and Assignment Operators
Item 5: Know what functions C++ silently writes and calls.
Item 6: Explicitly disallow the use of compiler-generated functions you do not want.
Item 7: Declare destructors virtual in polymorphic base classes.
Item 8: Prevent exceptions from leaving destructors.
Item 9: Never call virtual functions during construction or destruction.
Item 10: Have assignment operators return a reference to *this.
Item 11: Handle assignment to self in operator.
Item 12: Copy all parts of an object.

Chapter 3: Resource Management
Item 13: Use objects to manage resources.
Item 14: Think carefully about copying behavior in resource-managing classes.
Item 15: Provide access to raw resources in resource-managing classes.
Item 16: Use the same form in corresponding uses of new and delete.
Item 17: Store newed objects in smart pointers in standalone statements.

Chapter 4: Designs and Declarations
Item 18: Make interfaces easy to use correctly and hard to use incorrectly.
Item 19: Treat class design as type design.
Item 20: Prefer pass-by-reference-to-const to pass-by-value.
Item 21: Don't try to return a reference when you must return an object.
Item 22: Declare data members private.
Item 23: Prefer non-member non-friend functions to member functions.
Item 24: Declare non-member functions when type conversions should apply to all parameters.
Item 25: Consider support for a non-throwing swap.

Chapter 5: Implementations
Item 26: Postpone variable definitions as long as possible.
Item 27: Minimize casting.
Item 28: Avoid returning 'handles' to object internals.
Item 29: Strive for exception-safe code.
Item 30: Understand the ins and outs of inlining.
Item 31: Minimize compilation dependencies between files.

Chapter 6: Inheritance and Object-Oriented Design
Item 32: Make sure public inheritance models 'is-a.'
Item 33: Avoid hiding inherited names.
Item 34: Differentiate between inheritance of interface and inheritance of implementation.
Item 35: Consider alternatives to virtual functions.
Item 36: Never redefine an inherited non-virtual function.
Item 37: Never redefine a function's inherited default parameter value.
Item 38: Model 'has-a'or 'is-implemented-in-terms-of' through composition.
Item 39: Use private inheritance judiciously.
Item 40: Use multiple inheritance judiciously.

Chapter 7: Templates and Generic Programming
Item 41: Understand implicit interfaces and compile-time polymorphism.
Item 42: Understand the two meanings of typename.
Item 43: Know how to access names in templatized base classes.
Item 44: Factor parameter-independent code out of templates.
Item 45: Use member function templates to accept 'all compatible types'.
Item 46: Define non-member functions inside templates when type conversions are desired.
Item 47: Use traits classes for information about types.
Item 48: Be aware of template metaprogramming.

Chapter 8: Customizing new and delete
Item 49: Understand the behavior of the new-handler.
Item 50: Understand when it makes sense to replace new and delete.
Item 51: Adhere to convention when writing new and delete.
Item 52: Write placement delete if you write placement new.

Chapter 9: Miscellany
Item 53: Pay attention to compiler warnings.
Item 54: Familiarize yourself with the standard library, including TR1.
Item 55: Familiarize yourself with Boost.

Appendix A: Beyond Effective C++
Appendix B: Item Mappings Between Second and Third Editions

Index

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Effective C++ 3rd Edition