User Tools

Site Tools


c_11_features

Overview

List of new/changed features in C++11, general links and feature-specific internal pages.

C++11 features

Ongoing hierarchical list of new C++11 features

Constantly being shuffled around; this list will be used as the basis for the more specific pages listed above.

Misc fixes

  • right angle brackets

Data types and literals

  • alignas/alignof
  • decltype
  • char16_t, char32_t
  • nullptr
  • New string literals (Unicode, raw)
  • User-defined literals
  • auto type deduction
  • constexpr (here?)
  • type traits

Any other new character types?

General language features

  • Initializer lists
  • Overloading and “= delete” for non-member functions
  • Trailing return types (mostly for templates)

Looping

  • Range for loops
  • for_each, non-member begin() and end()

Namespaces

  • 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

Rvalue references

  • Basic rvalue references
  • Rvalue references for *this

Class features

  • Non-static data member initializers
  • Explicit conversion operators
  • Extended friend declarations

Inheritance issues

  • override
  • final

Smart pointers

  • auto_ptr (deprecated)
  • unique_ptr
  • shared_ptr
  • weak_ptr

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

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
  • tuple

Concurrency

  • Atomic operations
  • Threads and thread-local storage
  • async()

Others

  • extern template
  • Regular expressions
  • C99 preprocessor (__cplusplus??)
  • Unrestricted unions
  • Attributes
  • ref-qualifiers (move semantics?)
  • Dynamic pointer safty (garbage collection)
  • I/O manipulators
c_11_features.txt · Last modified: 2018/02/02 09:23 by rpjday