x

Our Privacy Policy has changed. By using this site, you agree to the Privacy Policy.

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

ISBN-10: 0321334876
ISBN-13: 9780321334879
Edition: 3rd 2005 (Revised)
Authors: Scott Meyers
List price: $54.99 Buy it from $24.08
eBook available
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: Effective C++ 3/e is a complete update of Effective C++ and Effective C++ 2/e .Like its predecessors, 3/e has 55 guidelines which contain better, moreeffective ways to write code, backed by specific examples. The second editionpublished in 1997, and  More...

New Starting from $49.01
eBooks Starting from $43.99
Buy
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Periodic Table Online content $4.95 $1.99
Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $54.99
Edition: 3rd
Copyright year: 2005
Publisher: Addison Wesley Professional
Publication date: 5/12/2005
Binding: Paperback
Pages: 320
Size: 7.00" wide x 9.00" long x 0.50" tall
Weight: 1.584

Effective C++ 3/e is a complete update of Effective C++ and Effective C++ 2/e .Like its predecessors, 3/e has 55 guidelines which contain better, moreeffective ways to write code, backed by specific examples. The second editionpublished in 1997, and was basically a face-lift of the first edition, keeping mostof the same elements, and seven years later is still selling well.Now, Meyers has dramatically rejuvenated the material, including more than30% brand-new material. Meyers began this edition by asking himself, "Whatare the 55 most important pieces of advice for practicing C++ programmers in2005?" He also asked thousands of past users of his books this same question.This resulted in a completely new book. New material includes use of UMLnotation, thread safety, exception safety, design patterns, and templates. Anyolder material has been revitalized to reflect new ideas and strides in C++development.

For more than 20 years, Scott Meyers' Effective C++ books (Effective C++, More Effective C++, and Effective STL) have set the bar for C++ programming guidance. His clear, engaging explanations of complex technical material have earned him a worldwide following, and they keep him in demand as a trainer, consultant, and conference presenter. Winner of the 2009 Dr. Dobb's Excellence in Programming Award, he has a Ph.D. in Computer Science from Brown University. His web site is aristeia.com.

Preface
Acknowledgments
Introduction
Accustoming Yourself to C++
View C++ as a federation of languages
Prefer consts, enums, and inlines to #defines
Use const whenever possible
Make sure that objects are initialized before theyre used
Constructors, Destructors, and Assignment Operators
Know what functions C++ silently writes and calls
Explicitly disallow the use of compiler-generated functions you do not want
Declare destructors virtual in polymorphic base classes
Prevent exceptions from leaving destructors
Never call virtual functions during construction or destruction
Have assignment operators return a reference to *this
Handle assignment to self in operator=
Copy all parts of an object
Resource Management
Use objects to manage resources
Think carefully about copying behavior in resource-managing classes
Provide access to raw resources in resource-managing classes
Use the same form in corresponding uses of new and delete
Store newed objects in smart pointers in standalone statements
Designs and Declarations
Make interfaces easy to use correctly and hard to use incorrectly
Treat class design as type design
Prefer pass-by-reference-to-const to pass-by-value
Dont try to return a reference when you must return an object
Declare data members private
Prefer non-member non-friend functions to member functions
Declare non-member functions when type conversions should apply to all parameters
Consider support for a non-throwing swap
Implementations
Postpone variable definitions as long as possible
Minimize casting
Avoid returning handles to object internals
Strive for exception-safe code
Understand the ins and outs of inlining
Minimize compilation dependencies between files
Inheritance and Object-Oriented Design 149Item
Make sure public inheritance models is-a
Avoid hiding inherited names
Differentiate between inheritance of interface and inheritance of implementation
Consider alternatives to virtual functions
Never redefine an inherited non-virtual function
Never redefine a functions inherited default parameter value
Model has-a or is-implemented-in-terms-of through composition
Use private inheritance judiciously
Use multiple inheritance judiciously
Templates and Generic Programming 199Item
Understand implicit interfaces and compile-time polymorphism
Understand the two meanings of typename
Know how to access names in templatized base classes
Factor parameter-independent code out of templates
Use member function templates to accept all compatible types
Define non-member functions inside templates when type conversions are desired
Use traits classes for information about types
Be aware of template metaprogramming
Customizing new and delete 239Item
Understand the behavior of the new-handler
Understand when it makes sense to replace new and delete
Adhere to convention when writing new and delete
Write placement delete if you write placement new
Misc

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×