C++11/14/17 Features in Visual Studio 2015

Stephan T. Lavavej has posted a list of C++11, C++14, and C++17 features in Visual Studio 2015. Overall, the support looks pretty good and clearly the compiler team is rapidly evolving the product to improve standards conformance with each release. Not only are they tracking C++11 and C++14 standards well, they are proactively tracking C++17-to-be features as well. To summarize:

The Core Language

  • C++11 core language features are complete, except for: expression SFINAE and C99 preprocessor support is partial
  • C++14 core language features are complete, except for: variable templates, extended constexpr, and non-static data member initializers for aggregates.
  • C++17-so-far core language features are complete, except for: terse static_assert, nested namespace definitions and fixing qualification conversions.

The Standard Library

  • The C99 Standard Library implementation is complete, except for tgmath.h (which is irrelevant in C++) and the CX_LIMITED_RANGE/FP_CONTRACT pragma macros.
  • The C++11 Standard Library implementation is complete.
  • The C++14 Standard Library implementation is complete, except for Expression SFINAE in result_of/std::function, plus 11 more Library Issues.
  • The C++17-so-far Standard Library implementation is complete, except for pair/tuple improvements and untimed shared_mutex, plus 10 Library Issues.

Please see the linked post for the full details. Stephan has linked every feature to either documentation or a standards proposal that explains it.

Advertisements