Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) (Addison-Wesley Professional Computing) 2nd Edition

4.8 out of 5 stars 93 customer reviews
ISBN-13: 860-1406587076
ISBN-10: 0201924889
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$5.48 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$33.38 On clicking this link, a new layer will be open
More Buying Choices
16 New from $13.52 93 Used from $0.01 2 Collectible from $9.85

Excel2016ForDummiesVideo
Excel 2016 For Dummies Video Training
Discover what Excel can do for you with self-paced video lessons from For Dummies. Learn more.
click to open popover

Frequently Bought Together

  • Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) (Addison-Wesley Professional Computing)
  • +
  • More Effective C++: 35 New Ways to Improve Your Programs and Designs
  • +
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Total price: $115.53
Buy the selected items together

Editorial Reviews

Amazon.com Review

This exceptionally useful text offers Scott Myers's expertise in C++ class design and programming tips. The second edition incorporates recent advances to C++ included in the ISO standard, including namespaces and built-in template classes, and is required reading for any working C++ developer.

The book opens with some hints for porting code from C to C++ and then moves on to the proper use of the new and delete operators in C++ for more robust memory management. The text then proceeds to class design, including the proper use of constructors, destructors, and overloaded operator functions for assignment within classes. (These guidelines ensure that you will create custom C++ classes that are fully functional data types, which can be copied and assigned just like built-in C++ classes.)

The author also provides a handful of suggestions for general class design, including strategies for using different types of inheritance and encapsulation. Never doctrinaire and always intelligent, these guidelines can make your C++ classes more robust and easier to maintain. --Richard Dragan

Review

Read the full review for this book.

Effective C++ CD is the HTML (Netscape-oriented) version of Scott Meyers' previous two works, Effective C++, Second Edition and More Effective C++. Additionally, five supplementary magazine articles appear in the collection. There are also links to relevant material on the Web which that been added to the current edition and which did not appear in the print edition.

Scott Meyers' work is so well known as scarcely to need introduction. Respect for his C++ acumen and pedagogic skills is so widespread that I was prepared to thoroughly detest his work, which I have encountered often but barely deigned to read to date.

On close examination, I find Meyers' books to be superb.

Of the 50 catechismic "Items" in the body of Effective C++, the vast majority are of critical importance to solid C++ programming. Virtually everything Scott Meyers suggests on these subjects is germane and practical. Where one could conceivably differ with Meyers' approach, his is nevertheless an entirely sound approach.

The second volume, More Effective C++, is cast in the same mold as the first volume. Here the discussion of 35 further "Items" tends to devolve somewhat towards matters of style. However, these are still critical issues being raised that the intermediate C++ programmer must confront sooner or later, athey are shipped too early. They fail because they arenthey are shipped too early. They fail because they arens presented in Meyers' rich and sympathetic tutorial prose. --Jack Woehr, Dr. Dobb's Journal -- Dr. Dobb's Journal

NO_CONTENT_IN_FEATURE

New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Series: Addison-Wesley Professional Computing
  • Paperback: 256 pages
  • Publisher: Addison-Wesley Professional; 2 edition (September 2, 1997)
  • Language: English
  • ISBN-10: 0201924889
  • ISBN-13: 978-0201924886
  • Product Dimensions: 7.4 x 0.5 x 9.1 inches
  • Shipping Weight: 1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (93 customer reviews)
  • Amazon Best Sellers Rank: #929,225 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By Andrew Harbick on March 3, 2000
Format: Paperback
From beginning to end this book is packed with information that is IMMEDIATELY applicable. For example "Always declare destructors to be virtual" otherwise you may end leaking memory when subclasses are deleted. Or hiding the implementation of a class in an "Impl" that your class just passes through to. That way, if the implementation changes, the clients of the class are protected from recompilation.
Beyond the wealth of just downright practical information the oragization is fabulous. The only other technical book that has organization as good as this one is "Design Patterns" There are several chapters such as "Memory Management" that have "Items" and each item has a few paragraphs describing the motivation for why you should believe Meyers with examples to prove it. Then there are solid examples that show the implemantation of an example usage.
My company gave this book out with "Design Patterns" to EVERY developer in the company, and it was probably the smartest thing I've ever seen a company do.
Read it and learn a TON.
Comment 81 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
There seems to be a whole slew of books out titled "<adjective> C++" and I suspect this was the first. If not, it should at least be the model.
The book is set up as 50 small chapters describing particular principles. Each is useful and clearly-presented in a manner that is not daunting.
I've read many C++ books, including many of the <adjective> books and I have no problem proclaiming this as simply the best. Other books may cover more ground (Stroustrup's books, for example), others may be more current and others may be more advanced (I've recently been humbled by "Exceptional C++") but I think "Effective C++" is the most useful.
If you're looking for a book to teach you the language, or if you're just learning the language, I'd say wait a little while before reading this book. If you've been writing code and haven't read this book, go for it. Although it's dated (pre-standard library) the concepts it covers are important ones that have not disappeared after standardization.
I hope that when I write my book, "Extraterrestrial C++," I can do half as good a job.
Comment 15 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
An absolutely terrific book focusing on basic C++ and object-oriented programming techniques. A crucial book for anyone new to C++ to read.
While _Effective C++_ is an important and fundamental part of any C++ programmer's library, truly advanced C++ engineers are likely familiar with most or all of the techniques presented here (dynamic allocation, constructors, basic coding style, etc.). Scott Meyers' second book, _More Effective C++_, covers significantly more advanced techniques which the experienced programmer may not have encountered in everyday code and which may be more instructive. It is only in deference to that book that I have given this one 4 (or, if I could, 4.9) stars.
Comment 32 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
This book contains a list of no less that 50 pratical tips for the C++ programmer. These tips are basically just common sense, and the advanced C++ will already know the vast majority of them (he should buy the book anyway just for the ones he doesn't know). The beginning C++ programmer will feel overwhelmed by this book so for those it cannot be recommended. It is mainly targeted the intermediate C++ programmer that have learned the language but have not found experience in using it.
My favorite one is the one that tell how to reduce dependencies among files. It is common sense, but I just hadn't thought about it until I read this book. As a result the build time for our company project went down significantly. That was literally *very* valuable advice.
The book is extremely well written (even somewhat entertaining!) and both short and consise. I really liked this book, and I recommend any serious C++ programmer to buy it....
Comment 10 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
After having spent several years programming in C and dabbling in C++ here and there, I felt I had a pretty good grasp of C++. However, after finishing this book, I found myself boldly corrected.
The book covers answers to questions that I hadn't even realized that I should be asking. Reading C++ reference books teach you the syntax but completely hide the level of complexity as to what's really going on behind the scenes. To use a quote from the book "Saying what you mean is only half the battle. The flip side of the coin is understanding what you're saying, and it's just as important."
What happens if you override a non-virtual function? What does private inheritance do and why would you want to use it? What code will the compiler automatically generate for you if you fail to do so yourself? When should you use references to objects versus the objects themselves? The list goes on and on. It covers the topics of Memory Management, Constructors & Destructors, Operator Overloading, Design & Decleration of Classes and Functions, Implementation, Inheritance and Object Oriented Design. But, most importantly, for every answer - there is a logical explanation of *why* things are the way that they are.
Reading this book gave me a new appreciation for the complexity behind C++. It is not a book on syntax, so this should not be the 1st C++ book that you read -- but it should *definitely* be the 2nd!
Meyers has an excellent, and amusing(!) writing style which makes the book much easier to read then you'd expect from a technical book. The concepts might still make your brain hurt if you're new to C++, but keep at it -- before you write any C++ code you need to understand what's going on behind the scenes and this book will show it to you.
Comment 9 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) (Addison-Wesley Professional Computing)
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) (Addison-Wesley Professional Computing)