Effective C++: 55 Specific Ways to Improve Your Programs and Designs
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
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
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
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
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
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
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.
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.
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.
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.
I would say that anyone who programs in C++ should read this book.
Goodreads is hiring!
Learn more »