94
votes

A preview version of Visual Studio 2012 (the next version after VS2010) is now available.

Does anyone know what new C++11 features it supports? (I'm not in a position to try it out at the moment).

7
And I'm left disappointed once more. Now to figure out how to use GCC/GDB more fluently... - GManNickG
GMan: I think their uptake on new features is pretty astonishing, certainly in view of where they're coming from (think VC 6.0 and shudder)... Sure, GCC's support is astonishing, but there are a lot of other places it is lacking too... - rubenvb
@rubenvn: Just out of curiosity, in what places is GCC lacking? - HighCommander4
GCC is not lacking in support of C++ 11, it is pretty much umatched. VC11 is humorously lacking. It is not even close. - 987 S
@HighCommander4: In what places is GCC lacking? Debugging tools. - user541686

7 Answers

77
votes

It's worth noting that Visual Studio 2010 already had quite a bit of early C++11 support. So to summarize what is already linked to in other answers, here is what is new in Visual Studio 11 that was not part of Visual Studio 2010:

In early November 2012, Microsoft announced the Visual C++ Compiler November 2012 CTP, which adds more C++11 functionality to Visual Studio 2012:

25
votes

Here is the list of feature of the new visual studio version and here is the list of what all compilers support

6
votes

There is a list there. What strikes me the most is the features which are still missing:

  • They said they would implement variadic templates as a priority and they didn't.
  • We will still have to declare move constructors by hand for many classes, since there is no delegating constructors.
  • Inheriting constructors aren't present, and this would really be needed for some code
  • No uniform initialization, in particular no initializer lists. This sucks when you have used them with g++.
  • Still no correct thread local storage. So you're stuck with boost::thread_specific_ptr for a while.

All the other features which are yet missing are mainly stuff you can live without. What I list here is just what nags me everyday when working with VS10. It's just so irritating that they didn't work on the compiler at all.

EDIT: I shall also add that emplace_back (one great feature for the standard library containers) isn't correctly implemented.

5
votes

During GoingNative in Feb 2012, STL announced that range-for will be in VS11 starting with the beta, which is expected Feb 29th. A recording of the talk is available. "The Reveal" is at the one-hour 38 minute mark.

1
votes

Try this video by Herb Sutter. This fellow dont need introduction!!!

http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T