Hacker News new | ask | show | jobs
by flohofwoe 4166 days ago
It is a fair question given the fact that Visual Studio 2013 doesn't even support basic C++11 features like constexpr. When doing multi-platform C++11 work the code usually must be dumbed down a lot if it needs to compile also in VStudio, e.g.:

- can't use many of the new initializer mechanisms in the class declaration (initializer lists, etc...)

- no constexpr

- std::chrono high resolution click isn't actually high resolution but only has millisecond accuracy

Complete list of missing C++11 features up to VS2013 is here: http://msdn.microsoft.com/en-us/library/hh567368.aspx

Microsoft should first complete their C++11 support before moving on to C++14, otherwise it will probably never get fixed.

Visual Studio is a fine IDE, but the C++ compiler lags behind quite a bit.

2 comments

Microsoft obviously should NOT first "complete" their C++11 support since there may very well be more important features in C++14 than some arcane features no-one would use in C++11. Same applies to all the other compiler vendors and all versions of the standard.
Arcane features that no-one uses should not be in the standard but in some sort of optional extension, and a feature that is not supported by all major compilers might as well not exist, since it cannot be used in a portable code base.
The init list bug has been fixed for 2015 RTM. Also, I fixed the clocks back in 2015 CTP1 (alpha 1). Sorry about that bug, we just didn't get a chance to fix it in 2013 - in that release we were insanely busy converting the whole STL over to real variadic templates.
Nice! Thanks a lot for your hard work, it's really appreciated despite my ranting ;)