C++ has been revised and updated from C++98 to C++11, which is the ISO C++ standard ratified in 2011. This serves as a brief overview of the new features of the language as outlined by Bjarne Stroustrup.
C++11 is the current standard and many of its features are already implemented in currently shipping compilers (e.g. GCC C++, Clang C++,IBM C++, and Microsoft C++). Overall C++11 aims to:
- Make C++ a better language for systems programming and library building — that is, to build directly on C++’s contributions to programming, rather than providing specialized facilities for a particular sub-community (e.g. numeric computation or Windows-style application development).
- Make C++ easier to teach and learn — through increased uniformity, stronger guarantees, and facilities supportive of novices (there will always be more novices than experts).
C++11 is larger that C++98, so if one wants to know every rule, learning C++11 will be harder. Learners will be left with two tools for simplification:
- Generalization: Replace, say, three rules with one more general rule (e.g., uniform initialization, inheriting constructors, and threads).
- Simpler alternatives: Provide new facilities that are easier to use than their older alternatives (e.g., the array, auto, range-for statement, and regex).
For more information on C++11 and for code samples, visit http://www.stroustrup.com/C++11FAQ.html