Quantcast
Channel: Bartek's coding blog
Viewing all articles
Browse latest Browse all 325

C++ Status at the end of 2014

$
0
0

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!

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

FeatureProposalClangGCCVSIntel
Tweak to certain C++ contextual conversionsN33233.44.912-
Binary literalsN3472Yes4.91414
Return type deduction for normal functionsN36383.44.91415
Generalized lambda capture (init-capture)N36483.44.91415
Generic (polymorphic) lambda expressionsN36493.44.914-
Variable templatesN36513.45--
Relaxing requirements on constexpr functionsN36523.45--
Member initializers and aggregatesN36533.45--
Clarifying memory allocationN36643.4n/a--
Sized deallocationN37783.4514*-
[[deprecated]] attributeN37603.44.9-15*
Single-quotation-mark as a digit separatorN37813.44.914*-

* 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


Viewing all articles
Browse latest Browse all 325

Trending Articles