Modified September 9, 2015 This document is written by and maintained by Bjarne Stroustrup.Constructive comments, corrections, references, and suggestions are of course most welcome.Currently, I'm working to improve completeness and clean up the references.
The maintenance of this FAQ is likely to become increasingly sporatic. The previous standard is often referred to as C++98 or C++03; the differences between C++98 and C++03 are so few and so technical that they ought not concern users. This is close to the final draft international standard formally accepted by a 21-0 national vote in August 2011.
Before its official ratification, we called the upcoming standard C++0x.
I have not had the time to update the name consistently, sorry, and anyway I like the name C++0x :-).
The name "C++0x" is a relict of the days where I and others, hoped for a C++08 or C++09.
Think of 'x' as hexadecimal (i.e., C++0B == C++11).
All official documents relating to C++11/C++0x can be found at the ISO C++ committee's website. Caveat: This FAQ will be under construction for quite a while.
Comments, questions, references, corrections, and suggestions welcome.
Please note that the purpose of this FAQ is not to provide comprehensive discussion of individual features or a detailed explanation of how to use them. Many of the examples are borrowed from my own talks and papers.
The aim is to give simple examples to demonstrate what C++11 has to offer (plus references). Questions about individual standard library facilities can be found here: That's a (to me) amazingly frequent question. Surprisingly, C++11 feels like a new language: The pieces just fit together better than they used to and I find a higher-level style of programming more natural than before and as efficient as ever.