This is an old revision of the document!
Overview
List of new/changed features in C++11, general links and feature-specific internal pages.
Links to relevant external pages
-
- Bjarne's C++11 FAQ (obsoleted by ISO C++ Super-FAQ above)
C++11 features
Ongoing hierarchical list of new C++11 features
Constantly being shuffled around:
Misc fixes
- right angle brackets
Data types and literals
alignas/alignofdecltypechar16_t,char32_tnullptr- New string literals (Unicode, raw)
- User-defined literals
autotype deductionconstexpr(here?)
Any other new character types?
General language features
- Initializer lists
- Overloading and “= delete” for non-member functions
- Trailing return types (mostly for templates)
- Range for loops
Namespace
- Inline namespaces
Enumeration types
- scoped enums
- forward enum declarations
- strongly-typed enums (n2347.pdf)
Class "life cycle" methods
- Delegating constructors
- Inheriting constructors
- Move semantics (tied to rvalues)
- “
= default” - “
= delete”
Class features
- Non-static data member initializers
- Explicit conversion operators
- Extended friend declarations
Inheritance issues
overridefinal
Templates
- Template aliases
- variadic templates (parameter pack, sizeof…)
- extern template (explicit instantiation declaration)
- Extended friend declaration
- Local and unnamed types as template parameters(?)
Lambda expressions
Exceptions
noexcept
Concurrency
- Atomic operations
- Threads and thread-local storage
- async()
Debugging
- static_assert()
Standard Library
- With the approval of C++11, TR1 is officially incorporated into standard C++ standard, along with new libraries that have been added since TR1.
- threading library
- relies heavily on move semantics
- New algorithms here
Others
- extern template
- Type traits
- Regular expressions
- C99 preprocessor (
__cplusplus??) - Unrestricted unions
- Attributes
- ref-qualifiers (move semantics?)
- Dynamic pointer safty (garbage collection)