Since I’ve been working with C++11, I’ve had to dig through alot of online resources to try and figure out all the new features. Luckily, there have been a couple of books released this year that help tremendously with coming to grips with the new features of the language. Here’s three I own and can totally recommend:
The C++ Standard Library: A Tutorial and Reference, 2nd Edition (2012, Nicolai M. Josuttis)
An indispensable guide to everything you want and need to know about the C++ library and the new C++11 additions.
C++ Primer, 5th Edition (2012, Standly B. Lippman)
Great ‘reintroduction’ to C++ programming, using modern C++11 style. This is for people already familiar with programming in general, and for veterans of C++ who want to get a grasp for the new C++11 language elements and the new coding styles.
C++ Concurrency in Action: Practical Multithreading (2012, Anthony Williams)
Multithreading is a complex beast. While you could probably get by with knowing the material covered in ‘The C++ Standard Library’, if you want to get your hands really dirty, this’d be the place to go.
[Update: Another great book on Multithreading is:
Concurrent Programming on Windows (2008, JoeDuffy).
While this book doesn’t cover C++11’s concurrency support, it does give valuable insight into how to write synchronous code on the Windows platform with any C++ compiler. (and heck, VC++ 2010 and minGW don’t have the new concurrency support).]
Also, I see a few interesting resources related specifically to new C++11 features, which I haven’t checked out but am a bit curious about:
Presentation Materials: Overview of the New C++ – (2012, Scott Meyers)
C++11 Rocks – (2012, Alex Korban)
Note that these do not cover the standard C runtime library (CRT), and although one can (mostly) get by without knowing this, I’d recommend at least getting some familiarity with it. I have some pretty old books that I use to help me, although I’d certainly recommend using online resources (check my ‘Resources’ page). There is however a good ‘digital document’ in the form of a Compiled Help file (CHM) which can be found bundled with the Pelles C compiler – that includes coverage of everything up to C11 as well as some Microsoft-specific CRT extensions.
[Update: Another important recent addition to C++11 books is the newest version of The C++ Programming Language (4th Edition) by C++ creator Bjarne Stroustrup. See also the InformIt Interview with Bjarne. ]
As far as official ISO C/C++ Standard documents go, you’ll either have to pay for them, or check these links (two are final drafts):
- C++1y Working PDF Draft (C++14 work in progress, from ISOCPP.org)
- C++11 Final Standard PDF Document (with slight editing) [n3337.pdf]
- C++11 Final Draft [n3291.pdf]
- C11 Final Draft, also as PDF (n1570.pdf)