C++11 is the successor to the C++03 standard, adding various core language changes and fixes, and an improved and expanded standard library.

Please use this tag when referring to C++0x (the working title of this standard before it was finalized).

Some of the main improvements of C++11, compared to the previous C++03 standard, include:

  • an expanded standard library
  • type inference using the auto keyword
  • lambda expressions, as in [](int x) { return x * x; }
  • a range-based for loop, as in for (auto &x : my_array) ...
  • move constructors
  • constructor chaining
  • a more natural syntax for the initialization of objects
  • multithreading support
  • generic programming support
history | excerpt history