Effective C++: 55 Specific Ways to Improve Your Programs and Designs 3rd Edition
|
Scott Meyers
(Author)
Find all the books, read about the author, and more.
See search results for this author
|
Use the Amazon App to scan ISBNs and compare prices.
Enter your mobile number or email address 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.
-
Apple
-
Android
-
Windows Phone
-
Android
|
Download to your computer
|
Kindle Cloud Reader
|
Frequently bought together
Customers who viewed this item also viewed
More items to explore
Editorial Reviews
From the Back Cover
― Steve Schirripa, Software Engineer, Google“C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scott’s deep insight and distinctive ability to impart knowledge.”
― Gerhard Kreuzer, Research and Development Engineer, Siemens AG
The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers’ practical approach to C++ describes the rules of thumb used by the experts ― the things they almost always do or almost always avoid doing ― to produce clear, correct, efficient code.
The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading.
Important features of Effective C++ include:
- Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
- Applications of new “TR1” standard library functionality, along with comparisons to existing standard library components.
- Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.
About the Author
Scott Meyers is one of the world's foremost authorities on C++, providing training and consulting services to clients worldwide. He is the author of the best-selling Effective C++ series of books (Effective C++, More Effective C++, and Effective STL) and of the innovative Effective C++ CD. He is consulting editor for Addison Wesley's Effective Software Development Series and is a founding member of the Advisory Board for The C++ Source (http://www.artima.com/cppsource). He holds a Ph.D. in Computer Science from Brown University. His web site is http://www.aristeia.com.
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Addison-Wesley Professional; 3rd edition (May 12, 2005)
- Language : English
- Paperback : 320 pages
- ISBN-10 : 0321334876
- ISBN-13 : 978-0321334879
- Item Weight : 1.15 pounds
- Dimensions : 7.3 x 1 x 9.15 inches
-
Best Sellers Rank:
#36,035 in Books (See Top 100 in Books)
- #7 in C++ Programming Language
- #69 in Computer Programming Languages
- #104 in Computer Software (Books)
- Customer Reviews:
Customer reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
I'll tell you a bit of my background and why this book is a goldmine for someone like me:
I have a degree in electrical engineering. I did some C++ programming in college but never got to the OOP stuff when I was in school. As I changed jobs over the years eventually I landed in a position where I needed to manage an existing C++ system. I learned the basics of OOP just by doing some reading online and picked it up over the years as most engineers are able to do. I got to the point where I was very familiar with the system and for the most part I could do pretty much everything I needed do for my job.
But my only formal training on C++ barely even scratched the surface of its capabilities, so I thought I should read a book on some "good practices" in C++.
This book was exactly what I was looking for. Coming in at under 300 pages, and with Meyers listing 55 specific items, this only leaves approximately 5 pages per item. This of course means that this book is not the definitive C++ reference guide. That said, this is not a book for beginners. I would say that you should be practicing OOP within C++ for at least a year before reading this book. (But it probably also isn't a book for experts either, because experts probably already know mostly everything in this book.)
Many of the items in this book are structured like this:
1) Meyers shows some snippet of code that looks innocent at first glance.
2) He explains how this could result in disaster if the exact wrong series of events happen (and provides a basic example of how this might unfold).
3) Then he explains how to modify the code to avoid this behavior. (Although, there are some dark corners of C++ that unfortunately can't be completely prevented from happening, even with proper class design. For these, Meyers explains how to minimize these chances of happening.)
This structure is very easy to understand and effective for retaining the information in this book.
In conclusion, I would recommend this book to anyone who understands the rules/syntax of C++ and has been using it for a few years, but maybe needs some guidance in taming the C++ beast.
C/C++ to me is about your progression in learning the language. Most people start out small begin learning and slow progress to much larger programs. As you make your way to these larger programs you run into some fundamental logic flaws (or design flaws). This book helps shed some very useful and en lighting information on these flaws. Be it you think it's a language flaw or design flaw in your programming. This book will give you some very useful tools to be used medium to large scale c++ programs. It is a most definitely on my recommendation of books to read for a C++ programmer.
The importance of the above assumption cannot be disregarded. This book assumes that you have little to no experience of the language. Every Item goes very deep into explanations of the concepts by giving clear (and realistic) examples of the pros and cons of a certain design. The code examples are especially good as they are not fragmented, yet very easy to understand as well as being relatable (if you are already familiar with programming).
The structure of the book is what stands out the most to me. Not only that this will forever remain as a great reference-book, if you're new to C++ like myself, and there is a concept that troubles you, this structure gives you a place to jump into and explore that concept, and from there, expand into other Items of concepts and ideas you may not even have considered in the first place. Another added bonus is the decomposition of each Item. Each Item is concise enough to be read in one go, yet all of them provide details in-length of the matter at hand. On top of that, the Items are not extremely dependent on other Items, making them easy to read as well as referencing.
First, I recommend starting with some FREE books you can find on the Internet - called "Thinking in C++" by Bruce Eckel. There are 2 volumes and I recommend both. You can buy the print versions but I used the electronic versions.
I then read this book - Effective C++. Of course there is some repetition, but I like it as it helps 'drive stuff into my head'.
The next book I'll read is Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library .
I bought Effective C++ Third Edition in May 2013 from Amazon as the seller, and received the thirteenth printing (March 2013)
While some of this stuff seems dated in 2013, I think 98% of it is still quite relevant, though I do wish they would keep the books a bit more updated (no more than 4 or 5 years old).
I do plan on looking into a book on C++11 in the near future.
Bottom line for this book is that I found it well worth the price. It's much easier and cheaper to learn the stuff in this book by reading it instead of having to 'learn it the hard way'.
Top reviews from other countries
Amazon was so nice to deliver it to me on the next working day, so great experience all along.
I doubt there are many C++ programmers out there who would not gain something from a refresher reading of this book.
If you are serious about learning and using C++ this is a book you will need eventually, I would recommend sooner rather than later. As long as you keep using C++ the worst that could happen is that it sits around on your shelf for a while until you are ready for what it discusses.










