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 this image

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


See all formats and editions Hide other formats and editions
Amazon Price New from Used from
Paperback
"Please retry"
CDN$ 33.90 CDN$ 1.48

There is a newer edition of this item:


Best Canadian Books of 2014
Stone Mattress is our #1 Canadian pick for 2014. See all

Customers Who Bought This Item Also Bought



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  See all reviews (81 customer reviews)
  • Amazon Bestsellers Rank: #627,344 in Books (See Top 100 in Books)
  • 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

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

Customer Reviews

4.9 out of 5 stars
Share your thoughts with other customers

Most helpful customer reviews

Format: Paperback
First time i read Effective C++ was while i was in college and had gone through some programming courses. Soon after, i wasn't just satisfied with knowing what to do while porgramming, but why to do it, and how what i did affected/utilized on memory, run-time, compile time. Needless to say it was an easy but detailed read, where more is learned the more you revisit the text. Many people just getting into programming with C++ aren't exactly sure when to use pointers or references, how to write efficient constructors in classes, when to make a function public, private or friend, when to correctly use inheritance or abstract classes, things like that. Effective c++ clarifies alot of these things.
One thing is for sure - for each item you read, you notice your programming errors and/or strong points, and generally move on to become a better C++ programmer. It doesn't teach you how to program (if a novice), it makes you better understand what you know or have an idea of if you've already been doing some (or alot) coding. It is also broken into sections, so you can jump right into where you think you need more clarification. Highly recommended.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
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. It's is very well structured, the table of contents summarizes each point in one sentence, together with the extensive and complete index it's very easy to use as a quick reference. But thanks to Meyers clear and oftentimes amusing style of writing it's also a joy to read from cover to cover. You'd be a fool if you didn't anyways, since you'd miss out on lots of excellent source code examples and very well stated arguments for each of the tips. Some of the tips may seem obvious, like item 5 which reads: "use the same form in corresponding uses of new and delete". Others like item 1: "prefer const and inline to #define" might seem pretty alien to seasoned C programmers/preprocessor magicians or performance freaks. After reading the author's arguments for his points you'll have a hard time defending your position, though (in the unlikely case that you are still not convinced, that is). Meyers does explicitly encourage critical thinking over blind following of the rules though, and in the tradition of Donald Knuth has promised a reward for every error discovered in his work.
How universally accepted these tips have become you can guess form reading the C++ newsgroups or noticing that they have been fully integrated into automatic source checking tools such as gimpel's PC-Lint. Professional programmers should know these 50 gems by heart - buy the book!
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
I'm not going to repeat the book contents. You can find it here or on the publisher's website. Others also commented on it more or less. I'd just like to make a few points that may have an influence on your decision to read or buy the book.
I agree with the opinion of lots of people who already posted their reviews here that this book is an essential read for profesional C++ programmers. If a professional does not do things more or less in the fashion described in the book, he/she isn't doing them right. With increasing experience over the years, a professional would naturally approach the right ways, but the book collects distilled wisdom in one place and would accelarate one's accetance and practice of them. Still I believe there are professionals who have not read the book, which is a shame to themselves and bad for the reputation of software products.
Another point I want to make is that the book deserves multiple readings. In other words, it's not a book you read once and then throw away (or sell here :-), which is indeed the case for more than 99.999% of the books ever published. It makes a perfect companion as one develops his/her career engineering software systems/applications in C++ & its associated libraries/tools.
One thing I noticed when reading it is that the items about memory management appear near the beginning of the book. Compared to most other items later on, they are less quick to understand. So you may want keep that in mind so as not to be discouraged. I believe you may read the 50 items in the book in a random order.
To adequately appreciate the book, it's likely necessary for one to have at least read a couple of C++ books (such as Accelarated C++ by Koenig & Moo and C++ Primer by Lippman) and at least a few months of experience on a job coding in C++.
All in all, this book is strongly recommended and a must read for professionals.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
By G. Avvinti on March 26 2002
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. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most recent customer reviews



Feedback