Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Enlarge cover
Rate this book
Clear rating

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

4.36 of 5 stars 4.36  ·  rating details  ·  1,289 ratings  ·  59 reviews
The Barnes & Noble Review
Since early in the 90s, working C++ programmers have relied on Scott Meyers s Effective C++ to dramatically improve their skills. But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meye...more
Paperback, 297 pages
Published May 1st 2005 by Addison-Wesley Professional (first published 1991)
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Effective C++, please sign up.

Be the first to ask a question about Effective C++

The  C Programming Language by Brian W. KernighanThe Pragmatic Programmer by Andrew HuntDesign Patterns by Erich GammaRefactoring by Martin FowlerStructure and Interpretation of Computer Programs by Harold Abelson
Essential Programming Books
24th out of 108 books — 233 voters
Code Complete by Steve McConnellThe Pragmatic Programmer by Andrew HuntStructure and Interpretation of Computer Programs by Harold AbelsonThe  C Programming Language by Brian W. KernighanIntroduction to Algorithms by Thomas H. Cormen
To-Read for Programmers
13th out of 87 books — 1 voter

More lists with this book...

Community Reviews

(showing 1-30 of 2,411)
filter  |  sort: default (?)  |  rating details
I hate C++. Even after using it for several years I was still unaware of some of the pitfalls of the language. This book is a absolute necessity if you're doing any C++ coding, as it's analogous to having a veteran C++ programmer sit with you for an afternoon and point out all of the things to avoid.

Once in college, I remember discovering the fact that the copy constructor is called on objects passed in by value through an afternoon of intense debugging. These seem obvious to me now, but at the...more
Nick Black
A necessary reference for anyone doing professional C++, but what this book really ought tell you is that professional C++ is a terrible idea.
Most books on c++ just list features of the language, without really explaining when should you use them and how to combine them. This books does so. It will help you design cleaner, more stable, well formed, and efficient programs in C++.

Here are some of the most valueable (for me) subjects found in this book:

- Efficient memory management when you need it
- Proper mechanisms to use to express yourself when writing classes - when to use templates, single inheritance, private inheritance; multiple...more

“Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If you’ve never read Effective C++ and you think you know everything about C++, think again.”
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

Terrific read! Every single one from the 55 Items is a pearl and the way they are written is outstanding!

If you read that everyone returning a dereferenced pointer should be "skinned alive, or possibly sentenced to ten years hard labor writing microcode for waffle irons and toaster ovens" then you will definitely pay attention to what your function returns! Or how good is this estimate of multiple inheritance: "Depending oh who is doing the talking, multiple inheritance is either the product of...more
Mar 24, 2011 Joecolelife rated it 5 of 5 stars
Recommended to Joecolelife by: www.CocoMartini.com Online Bookstore
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 exp...more
Andreea Lucau
There were some things that I applied in programming because "that's the right way". This book explains why. I've noted several quotes that made me smile:

Whenever you can avoid friend functions, you should, because, much as in real life, friends are
often more trouble than they're worth.
You can inline and otherwise tweak your functions until the cows come home, but it's wasted effort unless you're focusing on the right functions.
Personally, I find what tr1::function lets you do so amazing, it mak...more
Ernie Cordell
I marked this as "read" largely because I've read the First Edition, which is essentially the same book, but I'm coming back to add that it's still a great book for learning all those parts of C++ that you don't have time to discover while working. I'm not prepared to say that it's a better book yet, but I will say that it promises to be at this point. My problem in committing is not mere indecision, it's optique -- I'm still re-reading The Kernighan & Ritchie Text after having read its Firs...more
OK JaeWoo
This review has been hidden because it contains spoilers. To view it, click here.
Not only insightful, but entertaining too. "Whenever you can avoid friend functions you should, because, much as in real life, friends are often more trouble than they're worth" -pg 105. And on the definition of pure virtual functions: "Aside from helping you impress fellow programmers at cocktail parties, knowledge of this feature is generally of limited use." Section 8: Customising new and delete was particularly tricky. A wealth of advice, but turning it into practise will take years!
Dmitriy Komanov
Очень важная и полезная книга для разработчика на C++.
Scott Meyers had a difficult task in front of him: show good C++ code and practices. His effort was commendable and thorough, but it makes me realize that C++ feels like a dirty programming language. The language has far too many ways to really screw things up.

My biggest lesson was that I should avoid C++ as much as possible unless I absolutely have to use it for work. The book is good for what it is, but only read it if you need to read it.
Em Esay
My first boss ordered me to read and adhere to this book before I got the rights to check in source code into the company's VCS (and there were reviews, too).

Although today's powerful static analysis tools may save your program from flaws discussed in this treasure of a book, it surely pays off to build things right from the start. Taking in this book (and perhaps, the sequel) will help you to do just that.
I read this as I was getting back into C++ development from a few years of primarily using Java. It does an excellent job of explaining the reasons behind various conventions and practices, and also goes into lots of detail about the uses of some of the language's features. It probably would be quite useful in preparing for a technical job interview as well as for everyday development.
Another book in my personal "better late than never" likbez.
This is a great second book on C++ - after a basic primer and some real-life experience.
I've tried reading it some five years ago - it was too early for me, so I ended up properly reading it only now, later than I should have, but it was still totally worth it.
Well, what am I saying - everybody knows that it's a must-read classic.
Contains a mix of simple and advanced techniques for writing better C++. You will learn a lot about C++ from reading this book, even if you are already a professional programmer. You'll want to start doing almost everything in this book after this. I would compare it to Bloch's Effective Java as an absolutely essential tool in improving one's skill in a particular language.
If you only read one book on C++ this should be the one.

It won't teach you C++ (the book assumes you already know it) but will show you ways to improve your code. All explained in really clear and plain English and backed by solid evidence when needed.

I would go as far as saying every C++ developer should read it.
Helpful, but only if you already have an extensive knowledge of C++.

Explanations were good for the most part. Sometimes they were above my head, though.

Overall, not for beginners of C++, but if you know what you're doing with C++ code, then this probably will help improve your programs.
Max Galkin
This book was a great help for me to refresh my C++ knowledge after several years of C# development. Recommended by many other developers it covers some of the fundamental language areas. It is still not at all obsolete after many years, though I hope to see newer books covering C++10 soon.
Ren the Unclean
Sep 20, 2007 Ren the Unclean rated it 5 of 5 stars
Recommends it for: C++ Programmers
Shelves: reference
This book is full of insight into common and uncommon mistakes people make when coding in C++, as well as ways to make your coding more efficient and reliable. It is easy to understand and very well written.

I would say that anyone who programs in C++ should read this book.
Though any collection of tips and tricks is likely to be somewhat uneven in its usefulness to you, Scott Meyers really does have an excellent book here. This should be bundled with Stroustrup's beast to make the perfect C++ book.
Manuel Rodriques
Jul 07, 2010 Manuel Rodriques rated it 5 of 5 stars  ·  review of another edition
Recommends it for: anyone doing serious C++ programming.
Shelves: tech
If your doing C++ programming this is a must have. It covers many of the subtle gotchas. Even after using C++ for many many years I still find myself referencing the book when I am entering aspects of the language I don't regularly use.
I saw "read", but I didn't make it through the whole book - just most of it. Mostly because I'm not using C++ these days. But, I couldn't help but find this book very interesting and a must-have if you're a C++ user.
this book teach you not only the best practices in C++ programming it teaches you indirectly how compiler and linker works together , this book is really a bible to any one who seeks salvation during C++ programming
A must-read for C++ programmers. The book covers important "gotchas" as well as more generally useful information. The format makes it convenient to read in small chunks (you can read a lesson while doing a build).
A good book to use as a refresher of C++ program design style. There was nothing in particular that I didn't know already, but it was still useful to read some of the rationales for different suggestions.
Great information in this book.
It is a little dense for a straight read through like we did for the Book Club, but I always come back to it for a refresher on specific topics as I start new work.
Nathan Herring
Good gotchas to know about. Unfortunately, I had learned (sometimes the hard way) a fair number of them before reading this. Third edition adds some important new ones.
Alan Fay
Excellent, entertaining read when I had to work through some C++ at a previous job. It helped me implement the memory-management pattern described therein.
Any object-oriented programmer should read this book. They're just simple, practical 55 tips that can keep you from getting into trouble in the long run.
« previous 1 3 4 5 6 7 8 9 80 81 next »
topics  posts  views  last activity   
Software Books an...: Location for the next event 9 15 Apr 15, 2014 12:02AM  
  • Modern C++ Design: Generic Programming and Design Patterns Applied
  • C++ Standard Library: A Tutorial and Reference
  • The C++ Programming Language
  • C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
  • Accelerated C++: Practical Programming by Example
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • C++ Primer
  • Advanced Programming in the Unix (R) Environment
  • Programming Pearls
  • The Practice of Programming
  • Refactoring: Improving the Design of Existing Code
  • Working Effectively with Legacy Code
  • Compilers: Principles, Techniques, and Tools
  • Code Complete
  • The Art of Unix Programming
  • Effective Java Programming Language Guide
  • Writing Solid Code
  • Writing Secure Code

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
More Effective C++ Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов Effective C++ Digital Collection: 140 Ways to Improve Your Programming Mac OS X Leopard: Beyond the Manual

Share This Book

“That doesn't upset too many people, but the fact that accessibility restrictions don't enter into the picture has caused more than one otherwise pacifistic soul to contemplate distinctly unpacifistic actions.” 1 likes
More quotes…