Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) Paperback – Sep 2 1997
There is a newer edition of this item:
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your mobile phone number.
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 JournalSee all Product Description
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
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.
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 ›
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.
Most recent customer reviews
I was a little hesitant to buy this, given its publication date. Let me encourage you to buy it without delay, and the sequel, and/or the CD! Read morePublished on May 28 2004 by Joy L. Getha
Like its predecessor, C++ has been about making the machine do more, more efficiently. For anyone who continues to relearn and expand their craft, this book is an excellent peek... Read morePublished on Feb. 26 2004 by Eric
Everything has been said about this book. It's simple, well structured, and probably the best thing it has is that it doesn't teach you how to code in C++ (that's up to you); it... Read morePublished on Oct. 21 2003 by John
First time i read Effective C++ was while i was in college and had gone through some programming courses. Read morePublished on July 28 2003 by Amazon Customer
I liked this book a lot. It is something you could finish reading in a day or two and would help you more than the time you spent reading it. Read morePublished on May 15 2003
If you're C++ developer, you should not miss this book.
Before I read this book, I was reading the Scott articles on Internet. Read more
It is really scary to be a C++ programmer and having to collaborate with people that havent read this book. It is literally like difusing a time bomb. Read morePublished on Dec 14 2002 by tonatiuh
The subtitle of the book '50 specific ways to improve your programs and designs' is a pretty good summary of what this book is all about. Read morePublished on Oct. 20 2002 by Sören Meyer-Eppler
Look for similar items by category
- Books > Computers & Technology > Microsoft > Development > C & C++ Windows Programming
- Books > Computers & Technology > Programming > C
- Books > Computers & Technology > Programming > Languages & Tools > C
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- Books > Computers & Technology > Software
- Books > Professional & Technical > Professional Science > Mathematics
- Books > Textbooks > Computer Science & Information Systems > Programming Languages