Barely anything new in that talk. At least not in 2016. He basically (almost
) lost me at the std::distance thing. To me it seems like someone who's been using the basics of C++ (more like C with classes
) and then just heard of C++11 and thought he knows enough to tell people that yea, this is the bomb. Most of what he talked about can be found in documentation websites such as cppreference.com. He barely even touched the good stuff. Most of what he covered can probably be found in something like an overview page of the C++11 features. Or a 10 minute 101 course. Nothing really critical to game engines was presented (IMO
). Like some revolutionary thing that no one didn't knew until now. And in my opinion C++11 was more like an experiment which was pimped a little in C++14 and finally done right in C++17. Which is why I'm more interested in C++17 than what we had so far.
As @cadaver mentioned, MSVC is not to be trusted when it comes to these features. And if I remember, the chrono issue
is even acknowledged. They've delivered compilers with half implementations of the C++y features and then incrementally added them through those CTP updates. And the fun part, is they did not change the value of _MSC_VER in those updates. So it's kinda awkward to know if you're running in a basic install or an updated one.
For example, constexpr was not supported in the release of VS 2013. It was added in in the November CTP update. Then user defined literals was not supported either. They've added them in CTP 14 which later became VS 2015. And a bunch of these incomplete implementations and differences. They've probably released their compilers because they didn't want to fall behind and be left out.
I even remember having to write tons of workarounds because their compiler and standard library was never following the standards. They kinda wen't their own way.
However, I do agree that legacy C++ is dragging a lot of projects behind and let's just say that compilers like MSVC where you never know for sure whether you'll have that feature available or not or whether it works as it's supposed to be, are not helping the situation either.