C++11 Overview

C++11 is the modern C++ standard published in 2011. This brought many major extensions and improvements to the existing language. It was approved by International Organization for Standardization (ISO) on 12 August 2011 and replaced C++03.

C++11 was also known as C++0x. This is because, For the next revision, it was supposed that the next Standard after would be done by 2008, but since it was uncertain, it was named C++0x, where the x stood for either 8 or 9. Though planning shifted and it is now called C++11. So, C++0x was the name for the standard before it was published. Once it was finalized in 2011 it was named C++11.

Following are the major changes/additions of C++11 −

  • Initializer lists
  • Automatic type deduction
  • Rvalue references and move constructors
  • constexpr – Generalized constant expressions
  • Modification to the definition of plain old data
  • Uniform initialization
  • Range-based for loop
  • Lambda functions and expressions
  • Alternative function syntax
  • Explicit overrides and final
  • A constant null pointer, nullptr
  • Strongly typed enumerations
  • Right angle bracket not being treated as an operator at appropriate places
  • Variadic templates
  • Multithreading memory model
  • Added Hash tables to the STL
  • Added Regular expressions to the Standard Library
  • Added General-purpose smart pointers like shared_ptr, weak_ptr, etc.

And many more. You can get the complete list with examples at https://en.wikipedia.org/wiki/C%2B%2B11.

Updated on: 24-Jun-2020


Kickstart Your Career

Get certified by completing the course

Get Started