The Benefits of C++11

The C++11 standard has been with us for quite a while, but it hasn’t yet gained traction as significantly as one might expect. It’s a shame as there are many reasons to utilize C++11 features, and the toolchain support is pretty good, especially on Unix-like systems with Windows finally catching up.

This series of articles advertises the benefits of C++11 and provides an explanation of some of the new features. There are various resources on the web that are quite misleading, so it’s important to clarify some of these things.

This is a four part series:

  1. Introduction to C++11 Toolchains – This article focuses on three popular toolchains used for compiling C++ programs, and it provides essential information for getting started with C++11.
  2. 3 Reasons You Should Use C++11 – This covers three major features of C++11 that make it stand out over other languages. It explains variadic templates, type and template aliases, and type inference.
  3. 4 More Reasons You Should Use C++11 – This post covers an additional 4 major features of C++11. It explains lambda expressions, expression SFINAE, rvalue references and move semantics, and constexpr.
  4. Some Final Thoughts on C++11 – This post covers a number of minor features of C++11, including range-based for loops, initializer lists, null pointer constants, strongly typed enumerations, static asserts, user defined literals and more.