I like C++11. Actually, I really like C++11. And C++14, etc.

I am using Windows though, with Visual Studio (2012 usually), and, this makes the C++11 part hard. Don’t get me wrong, Visual Studio has gotten a lot better at following the C++ standard. And it gets “new features” faster than ever before. But it is still too bad and to slow. They did fix some issues by releasing an update (CTP - Community Technology Preview) to the C++ compiler for VS2012 that you can download here: (http://blogs.msdn.com/b/vcblog/archive/2012/11/02/visual-c-c-11-and-the-future-of-c.aspx) This made my dabbles into Variadic Templates work. And a few other things work..better. But I really want to be able to use things like override, = delete etc. No luck for that.

VS2013 has better C++ support, and I’m quite sure 2015 has even better support; I have not tried yet. Not good enough though.

So, what can we do if we are stuck on windows, and like me, like Visual Studio? Clang to the rescue!

You can get a build for windows here: (http://llvm.org/builds/) And on a side-note, that page also has a clang-format addon for Visual Studio. Very good way to not have to think about formatting code anymore. ^_^

So, you downloaded it and installed it? What now? Change your projects: Properties->General->Platform Toolsen to use LLVM-vs2012/LLVM-vs2013. Then under C/C++->All Options->Additional Options, add /GR- /D_HAS_EXCEPTIONS=0

For me, I needed to “upgrade” to VS2013 to get things to compile. In VS2012, Clang did not like the hearder-files or . I'm guessing those are just the tip of the ice-berg. So, I upgraded to VS2013. And voila, in VS2013, it compiled my test-application! Which included things like "= delete" and "in-class member initializers".

Hopefully Microsoft will release more CTP releases, even for “older” (read VS2012) versions. The VS2012 CTP helped quite a bit, but it is still far from “working”. Until such time, I’ll be mainly using CLANG. ^_^