31 December 2014

C++ Status at the end of 2014

This was a good year for C++!

Short summary (language features):

  • Clang supports C++14
  • GCC supports C++11 and most of C++14 (Full support in upcoming GCC 5.0)
  • Intel 15.0 supports C++11 (some features on Linux/OSX only)
  • Visual Studio tries to catch up with C++11, but it also introduces C++14 features as well... and it become (almost) free!

Other reports: 2016, 2015, 2014, 2013, 2012.

The Plan

The chart

Last year in my summary for 2013 I had more data to analyze! This time it is a bit simpler, because I can leave C++11 conformance and focus on C++14. The latter standard is only a minor updated, only 12 features are included.

The chart below shows a general overview on the conformance for C++14. Note, that at the moment only language features are counted.

I've presented only Visual Studio, GCC, Clang and Intel compilers. To see more data from other compilers (IBM, Oracle, EDG...) look here at cppreference/compilersupport.

The data

Feature Proposal Clang GCC VS Intel
Tweak to certain C++ contextual conversions N3323 3.4 4.9 12 -
Binary literals N3472 Yes 4.9 14 14
Return type deduction for normal functions N3638 3.4 4.9 14 15
Generalized lambda capture (init-capture) N3648 3.4 4.9 14 15
Generic (polymorphic) lambda expressions N3649 3.4 4.9 14 -
Variable templates N3651 3.4 5 - -
Relaxing requirements on constexpr functions N3652 3.4 5 - -
Member initializers and aggregates N3653 3.4 5 - -
Clarifying memory allocation N3664 3.4 n/a - -
Sized deallocation N3778 3.4 5 14* -
[[deprecated]] attribute N3760 3.4 4.9 - 15*
Single-quotation-mark as a digit separator N3781 3.4 4.9 14* -

* means a RTM or partial support

Visual Studio 2015 is VC 14.0 (not 13.0)

On the chart Visual Studio 2015 has around 58%, but I that includes partial support for two features, this can be a bit unfair.

Notes on the C++ Standard

Compiler Notes

Visual Studio

GCC

Clang

Intel compiler

Summary

This was quite a good year for C++! C++11 support is done for most of the compilers - although Visual Studio is, as usually, a little behind. We can also use some of the new features from C++14. The standarization committee and the whole community is very engaged in the process of improving the language. I think for C++17 we'll see some nice additions to the standard.

Additionally, the long-awaited "Effective Modern C++" from Scott Meyers was finally published! It seems to be quite a good book and well respected by the readers.

What do you think?

  • What do you think about C++ in 2014?
  • What was the most important event/news for you?
  • Are you happy with the progress in the standarization process?

Comments

Thanks for all the comments!

Links

Interested in new blog posts and bonus content? Sign up for my newsletter.

© 2017, Bartlomiej Filipek, Blogger platform
Any opinions expressed herein are in no way representative of those of my employers.
This site contains ads or referral links, which provide me with a commission. Thank you for your understanding.