C++11
Sign in to saveAlso known as C++ 2011, C++0x, ISO/IEC 14882:2011
C++11 is a version of a joint technical standard, ISO/IEC 14882, by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), for the C++ programming language. C++11 replaced the prior version of the C++ standard, named C++03, and was later replaced by C++14. The name follows the tradition of naming language versions by the publication year of the specification, though it was formerly named C++0x because it was expected to be published before 2010.
Wikidata facts
- Subclass of
- C++
- Named after
- 2011
- Followed by
- C++14
- Follows
- C++03
- Official website
- www.iso.org/standard/50372.html
Show 8 more facts
- described at URL
- timsong-cpp.github.io/cppwp/n3337/draft.pdf
- publication date
- 2011-09-00
- Stack Exchange tag
- stackoverflow.com/tags/c++11
- inception
- 2011-08-12
- influenced by
- C++ Technical Report 1
- edition number
- 2011
- number of pages
- 1338
- different from
- C11
Sources (3)
via Wikidata · CC0
~79 min read
Encyclopedic overview
56 sectionsContents
- Design goals
- Extensions to the C++ core language
- Core language runtime performance enhancements
- Rvalue references and move constructors
- constexpr – Generalized constant expressions
- Modification to the definition of plain old data
- Core language build-time performance enhancements
- Extern template
- Core language usability enhancements
- Initializer lists
- Uniform initialization
- Type inference
- Range-based for loop
- Lambda functions and expressions
- {{anchor|trailing-return-type}} Alternative function syntax
- Object construction improvement
- Explicit overrides and final
- Null pointer constant and type
- Strongly typed enumerations
- Right angle bracket
- Explicit conversion operators
- Template aliases
- Unrestricted unions
- Core language functionality improvements
- Variadic templates
- New string literals
- User-defined literals
- Multithreading memory model
- Thread-local storage
- Explicitly defaulted special member functions
- Explicitly deleted functions
- Type <code>long long int</code>
- Static assertions
- Allow <code>sizeof</code> to work on members of classes without an explicit object
- Control and query object alignment
- Allow garbage collected implementations
- Attributes
- C++ standard library changes
- Upgrades to standard library components
- Threading facilities
- Tuple types
- Hash tables
- {{mono|std::array}} and {{mono|std::forward_list}}
- {{anchor|regex}} Regular expressions
- General-purpose smart pointers
- Extensible random number facility
- Wrapper reference
- Polymorphic wrappers for function objects
- Type traits for metaprogramming
- Uniform method for computing the return type of function objects
- Improved C compatibility
- Features originally planned but removed or not included
- Features removed or deprecated
- See also
- References
- External links
C++11 is a version of a joint technical standard, ISO/IEC 14882, by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), for the C++ programming language. C++11 replaced the prior version of the C++ standard, named C++03, and was later replaced by C++14. The name follows the tradition of naming language versions by the publication year of the specification, though it was formerly named C++0x because it was expected to be published before 2010.
Although one of the design goals was to prefer changes to the libraries over changes to the core language, C++11 does make several additions to the core language. Areas of the core language that were significantly improved include multithreading support, generic programming support, uniform initialization, and performance. Significant changes were also made to the C++ Standard Library, incorporating most of the C++ Technical Report 1 (TR1) libraries, except the library of mathematical special functions.
Excerpted from Wikipedia’s “C++11” article, available under the CC BY-SA 4.0 licence.