Buy Used
CDN$ 0.26
+ CDN$ 6.49 shipping
Used: Very Good | Details
Condition: Used: Very Good
Comment: This book is in very good condition and will be shipped within 24 hours of ordering. The cover may have some limited signs of wear but the pages are clean, intact and the spine remains undamaged. This book has clearly been well maintained and looked after thus far. Money back guarantee if you are not satisfied. See more of our deals.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) Paperback – Sep 2 1997

4.9 out of 5 stars 81 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 47.55 CDN$ 0.26

There is a newer edition of this item:

Unlimited FREE Two-Day Shipping for Six Months When You Try Amazon Student
click to open popover

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.

  • Apple
  • Android
  • Windows Phone
  • Android

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

Product Details

  • Paperback: 288 pages
  • Publisher: Addison-Wesley Professional; 2 edition (Sept. 2 1997)
  • Language: English
  • ISBN-10: 0201924889
  • ISBN-13: 978-0201924886
  • Product Dimensions: 18.7 x 1.4 x 23.2 cm
  • Shipping Weight: 458 g
  • Average Customer Review: 4.9 out of 5 stars 81 customer reviews
  • Amazon Bestsellers Rank: #278,526 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From Amazon

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


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

See all Product Description

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.9 out of 5 stars
Share your thoughts with other customers

Top Customer Reviews

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.
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
I think this is the first book a C++ programmer should read after reading a C++ syntax book. Every item is useful. This book is not as complete as <<C++ faq>>, but more concise.
Some items need to be updated, however. For example, Item 28, "Use structs to partition the global namespace", you can use namespace now (it is also mentioned at the bottom of the page).
I think the items can be better organized, for example Item 23 "Don't try to return a reference when you must return an object" and item 31 "Never return a reference to a local object or a dereferenced pointer initialized by new within the function" can be combined to one, in item 23, "object" means a local object, it is better to say it explicitely. Also similar items are better to put closer, maybe it is difficult, since many items relate to each other.
This is a book for intermediary level, it lacks some more advanced issues as exception, namespace, etc. Exceptions are discussed in its following book <<More effective C++>>, however, I would like to mention the discussion in <<more effective C++>> is not complete neither, up to now, I can find the most advanced discussions about exception in <<Exceptional C++>> by Herb Sutter, which is the book a advanced programmer should read. Discussion about namespace can also be found in this book.
Read more ›
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 has been my first C++ book after Stroustrup's.
After reading it I can say that much of the stuff in this book can also be found on Stroustrup's. What is the added value of this book then ?
Objectively, it brings some techniques that you may encounter for the first time here, and that once learned they use to become bread & butter of everyday programming. Think about the body/handle or letter/envelope patterns. You can learn them from Coplien's, from Gang of Four's "Design Pattern" or elsewhere. However Meyers' account on these topics is truly straightforward and expanded (respect to Coplien's, e.g.).
But there's more. A single read of a big manual (e.g. Stroustrup or Lippman or Deitels) will often result as not enough impressing to the novice, especially if the read has been a fast one ("we need that you learn C++ as soon as possible ..."). Too many details could pass unobserved; hence a second, slower read would be a good idea. But reading such a manual twice, from the first to the last page, is something that require a fair amount of courage. It's at this point that books like this and others (always the company: Coplien, Meyers, Murrai, Allison, Koenig and so on) show their usefulness: they make you ponder about those details you've missed but that are really important if you want to exploit the language as a good accustomed user does.
Why this book instead of some others of the same kind ? Simply because it's very clearly written and easily readable. I've had absolutely no difficulties in reading it, item after item. Meyers has a good and often entertaing writing style, and more important he very well knows the language. I'd say: one of the best source to improve your language knowledge from.
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