Goodreads helps you keep track of books you want to read.
Start by marking “Effective C++: 55 Specific Ways to Improve Your Programs and Designs” as Want to Read:
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Enlarge cover
Rate this book
Clear rating
Open Preview

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Effective C++ #1)

4.35 of 5 stars 4.35  ·  rating details  ·  1,884 ratings  ·  80 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
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 Pragmatic Programmer by Andrew HuntThe C Programming Language by Brian W. KernighanDesign Patterns by Erich GammaStructure and Interpretation of Computer Programs by Harold AbelsonCode Complete by Steve McConnell
Essential Programming Books
27th out of 116 books — 298 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 3,000)
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
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.
Elliott Bignell
I have owned this book for several years and typically re-read it about every year or so. To say that a book is necessary reading is sometimes hyperbolic, but if you want to understand C++ then it is the simple truth in this case. Meyers has written three books on C++ - this volume, "More Effective C++" and "Effective STL". You, fellow programmer, need them all. Plus "Design Patterns", of course. Stroustrup and the ACR probably belong beside them, but Meyers is uniquely readable - easily the bes ...more
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
OK JaeWoo
This review has been hidden because it contains spoilers. To view it, click here.
While not updated for C++11 (check out A Tour of C++ and Modern Effective C++ for that), this was a very insightful read and exactly what I hoped it to be: a great second book about C++. The items are mostly self-contained, so you can read one every now and then with losing too much of an overall context, yet items are cross-referenced everywhere so you can back and skim older topics again.

I've read the ebook version of this and I'm not a fan of the way source code is shown (with line breaks in
Forest Tong
Fantastic book about good coding practice in C++. The author talks about many subtle aspects of the language like the keyword const and passing by reference, and how misusing them can lead to huge design problems and misusage by clients. Assumes prior experience with C++, but is surprisingly readable.
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
بهتره قبل از این که تو رزومه هاتون بنویسید مسلط به سی پلاس پلاس(!) یک بار این کتاب رو خونده باشید.گر چه از اون کتابایی هست که با یه بار خوندن نمی شه روش مسلط شد و با هر بار خوندن چیزای جدید یاد می گیرین!
Vitor Capela
Improved my C++ manifold at a time I sorely needed it. Part of me actually enjoyed internalizing all the ways you could tame the monstrosity the language can be.
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
Good book for anyone wanting to dig a little into C++. This includes a lot of good practices that are clearly required for C++, explain some difficult C++ parts and even adds some useful tricks to be used in complicated situations.
Hsieh Yu-Hua
A Must Read for C++ Programmer, just like C++ Primer.
Arvydas Sidorenko
Invaluable resource. There shouldn't exist a single C++ programmer who haven't read this!
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
Pat Rondon
Helpful guidance through the C++ minefield.
C++ dev must-have.
Adam Uraynar
Aug 06, 2015 Adam Uraynar is currently reading it
The book is split up online 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 may prove tricky !
This may be the first legitimately good programming book I've read, and I've been reading quite a few of them lately. Definitely a must-read for the budding C++ programmer. You definitely have to generally understand C++ before reading the book, but I think this will go a long way in the journey from just learning C++ to becoming a proper, idiomatic C++ programmer.

I don't have much call for C++11 and C++14 right now, but I'm still planning on picking up the sequels.
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.
« previous 1 3 4 5 6 7 8 9 99 100 next »
topics  posts  views  last activity   
Software Books an...: Location for the next event 9 15 Apr 14, 2014 02:02PM  
  • Modern C++ Design: Generic Programming and Design Patterns Applied
  • Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
  • C++ Standard Library: A Tutorial and Reference
  • The C++ Programming Language
  • Accelerated C++: Practical Programming by Example
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • C++ Primer
  • C++ Templates: The Complete Guide
  • Programming Pearls
  • Advanced Programming in the UNIX Environment
  • The Practice of Programming
  • The Art of UNIX Programming
  • Writing Secure Code
  • Working Effectively with Legacy Code
  • Refactoring: Improving the Design of Existing Code
  • Writing Solid Code
  • Programming Perl
  • Large-Scale C++ Software Design

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Other Books in the Series

Effective C++ (3 books)
  • More Effective C++
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

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…