C++ C++11


Example

The C++11 standard is a major extension to the C++ standard. Below you can find an overview of the changes as they have been grouped on the isocpp FAQ with links to more detailed documentation.

Language Extensions

General Features

Classes

  • =default and =delete
  • Control of default move and copy
  • Delegating constructors
  • In-class member initializers
  • Inherited constructors
  • Override controls: override
  • Override controls: final
  • Explicit conversion operators

Other Types

  • enum class
  • long long – a longer integer
  • Extended integer types
  • Generalized unions
  • Generalized PODs

Templates

  • Extern templates
  • Template aliases
  • Variadic templates
  • Local types as template arguments

Concurrency

  • Concurrency memory model
  • Dynamic initialization and destruction with concurrency
  • Thread-local storage

Miscellaneous Language Features

  • What is the value of __cplusplus for C++11?
  • Suffix return type syntax
  • Preventing narrowing
  • Right-angle brackets
  • static_assert compile-time assertions
  • Raw string literals
  • Attributes
  • Alignment
  • C99 features

Library Extensions

General

  • unique_ptr
  • shared_ptr
  • weak_ptr
  • Garbage collection ABI
  • tuple
  • Type traits
  • function and bind
  • Regular Expressions
  • Time utilities
  • Random number generation
  • Scoped allocators

Containers and Algorithms

  • Algorithms improvements
  • Container improvements
  • unordered_* containers
  • std::array
  • forward_list

Concurrency