Effective C++ is a slim (a mere 256 pages in the second edition) volume that claims to provide "50 specific ways to improve your programs and design". The items are split into 7 sections - The second edition of the book is a major rewrite, with several items destroyed or merged into existing items, and a few new ones added. This isn't a "legal" C++ book - it doesn't describe what can and cannot be done in the language, it is rather a "moral" one that describes what should and should not be done.

The 50 items presented are idioms and techniques used by real-world C++ programmers, and they're all general enough to be of use to you. They range from help on avoiding common "gotchas" to software engineering tips, to smart little tricks.

Armed with this, a copy of The C++ programming language and some online resources, you're all set to become a serious C++ developer. Don't be discouraged by this book's apparently small size, it more than makes up for size in content.