C++11/C++14 books now on my shelf

Over the last year or two, I’ve been using more of the features introduced in C++11 and C++14. I’m a bit behind the curve only due to not being able to live on the bleeding edge with my compilers. Having an OS X desktop and laptop, I can use a non-Apple version of clang++ but it’s quirky and doesn’t always get along with what’s included in Xcode. The situation on my FreeBSD servers is similar but not as troublesome.

Back on topic… I wanted a book or two covering some of the details of C++11/C++14 features that I’ve either not used or have only touched upon without fully knowing the consequences. Things like auto, override and range-based for loops are fairly straightforward to use with few hidden consequences (though they have a few constraints that can feel a little odd at first). Lambdas are a little tricky but mostly only in the constraints with the capture list (until you’ve read about them). But some topics can be tricky to completely absorb. Move semantics, rvalue references and perfect forwarding would be typical examples for most of us. For those who’ve not done any concurrency programming, consider yourself lucky that C++14 is here; standardized facilities means you’ll be able to avoid the headaches that many of us have had to deal with over the last 15 years when needing threads on various platforms. And while I’ve been writing multithreaded code for a very long time, I appreciate the cleanliness of the new C++ facilities.

For the areas where I’m still hazy or worse, I chose Scott Meyers’ Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14. In general you can’t go wrong with a C++ book from Scott Meyer, and this one appears to be no exception. While I just received it yesterday and hence haven’t had time to dig in, an initial skimming leads me to believe this may be his best book to date.

I also bought Bjarne Stroustrop’s A Tour of C++. Eventually I’ll update my copy of his The C++ Programming Language, but it’s pricey and the reviews of the printing/binding aren’t great. I still cherish my Special Edition version despite it being obsolete, in no small part because it’s a well-bound hardcover. At any rate, A Tour of C++ looks like a nice brief tour of C++, including C++11 features.

Leave a Reply