Somehow I got hold of a link to Yossi Kreinin's 'Frequently Questioned Answers' (<a href="http://yosefk.com/c++fqa/index.html" rel="nofollow">http://yosefk.com/c++fqa/index.html</a>) - probably from HN, actually; so I felt duty-bound to add it to SO's C++ Tag Info (<a href="http://stackoverflow.com/tags/c%2b%2b/info" rel="nofollow">http://stackoverflow.com/tags/c%2b%2b/info</a>; awaiting moderation).<p>(From a former C++ lover who is now much more comfortable programming in C again...)
If you're basically familiar with C++ and want one good book, Effective C++ is the way to go. Quite simply, it teaches you how (and why) to write good, idiomatic C++ code, one rule at a time.
When I was learning C++ I subscribed to a <i>great</i> magazine called the "C++ Report". I first read about expression templates and template meta-programming in that magazine (Todd Veldhuizen's articles on Blitz). I blew my mind that people could use templates that way. Too bad it took many years to get my hands on a compiler that could actually handle templates well enough to use those techniques :-)<p>I'm not necessarily recommending reading those articles today - they are pretty dated. Still, it was wonderful to read about the techniques as they developed.
You know what is sad? I've read them all before I knew there were <i>other</i> programming languages! I say it's sad because the time spent reading that - thinking that would make me a better programmer - was wasted as I could have learned higher level languages. Still, from time to time in my life, when I need to get a C+ job done, it helps to be able to understand it. Also, it helps in interview questions where they seem to pick question from effective or exceptional ;)
once you've read these books, take a look at altdevblogaday.org<p>they have daily blog posts from excellent game developers.<p>although i'm not a c++ game developer, i do use c++ and i take a lot of inspiration from the techniques that they talk about on that site.