𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

✍ Scribed by Scott Meyers


Publisher
Addison-Wesley Professional
Year
2005
Tongue
English
Leaves
321
Series
Effective C++
Edition
3
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


The Barnes & Noble Review
Since early in the 90s, working C++ programmers have relied on Scott Meyers s Effective C++ to dramatically improve their skills. But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meyers has done a top-to-bottom rewrite, identifying the 55 most valuable techniques you need now to be exceptionally effective with C++.

Over half of this edition s content is new. Templates broadly impact C++ development, and you ll find them everywhere. There s extensive coverage of multithreaded systems. There s an entirely new chapter on resource management. You ll find substantial new coverage of exceptions. Much is gained, but nothing s lost: You ll find the same depth of practical insight that first made Effective C++ a classic all those years ago. Bill Camarda, from the July 2005 href="http://www.barnesandnoble.com/newslet... Only

✦ Table of Contents


Title Page
Copyright Page
Contents
Praise for Effective C++, Third Edition
Addison-Wesley Professional Computing Series
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
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Z


πŸ“œ SIMILAR VOLUMES


Effective C++ 55 Specific Ways to Improv
✍ Meyers, Scott πŸ“‚ Library πŸ“… 2005 πŸ› Pearson Education Limited (US titles);Addison Wesl 🌐 English

"Every C++ professional needs a copy of Effective C++ . It is an absolute must-read for anyone thinking of doing serious C++ development. If you've never read Effective C++ and you think you know everything about C++, think again."--Steve Schirripa, Software Engineer, Google "C++ and the C++ communi

Effective C++ 55 Specific Ways to Improv
✍ Meyers, Scott πŸ“‚ Library πŸ“… 2005 πŸ› Pearson Education Limited (US titles);Addison Wesl 🌐 English

"Every C++ professional needs a copy of Effective C++ . It is an absolute must-read for anyone thinking of doing serious C++ development. If you've never read Effective C++ and you think you know everything about C++, think again."--Steve Schirripa, Software Engineer, Google "C++ and the C++ communi

Effective C++: 55 Specific Ways to Impro
✍ Meyers, Scott πŸ“‚ Library πŸ“… 2005 πŸ› Pearson Education Limited (US titles);Addison Wesl 🌐 English

"Every C++ professional needs a copy of Effective C++ . It is an absolute must-read for anyone thinking of doing serious C++ development. If you've never read Effective C++ and you think you know everything about C++, think again."--Steve Schirripa, Software Engineer, Google "C++ and the C++ communi

Effective C++: 55 Specific Ways to Impro
✍ Scott Meyers πŸ“‚ Library πŸ“… 2005 πŸ› Addison-Wesley 🌐 English

<b>The Barnes &amp; Noble Review</b> Since early in the 90s, working C++ programmers have relied on Scott Meyers s <i>Effective C++</i> to dramatically improve their skills. But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s n

Effective C++: 55 Specific Ways to Impro
✍ Scott Meyers πŸ“‚ Library πŸ“… 2005 πŸ› Addison-Wesley 🌐 English

β€œThe first edition of this book ranks among the small (very small) number of books that I credit with significantly elevating my skills as a β€˜professional’ software developer. Like the others, it was practical and easy to read, but loaded with important advice. Effective C++, Third Edition, c

Effective C++. 55 specific ways to impro
✍ Scott Meyers πŸ“‚ Library πŸ“… 2005 πŸ› Addison-Wesley Professional 🌐 English

<P style="MARGIN: 0px"> <BLOCKQUOTE>β€œEvery C++ professional needs a copy of <I>Effective C++</I>. It is an absolute must-read for anyone thinking of doing serious C++ development. If you’ve never read <I>Effective C++</I> and you think you know everything about C++, think again.”<BR>β€” <B>Steve Schi