C++11 features in Visual Studio 2012

荒凉一梦 提交于 2019-11-26 03:06:54

问题


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).


回答1:


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:

  • rvalue references to version 2.1 from 2.0
  • lambdas to version 1.1 from 1.0.
  • decltype to version 1.1 from 1.0(not yet available in developer preview)
  • Improved, but still incomplete, Alignment
  • completed strongly-typed enums
  • forward declared enums
  • Standard layout and trivial types
  • Atomics
  • Strong compare and exchange
  • Bi-directional fences
  • Data-dependency ordering
  • Range-based for loop

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

  • uniform initialization
  • initializer lists
  • variadic templates
  • function template default arguments
  • delegating constructors
  • explicit conversion operators
  • raw strings



回答2:


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




回答3:


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.




回答4:


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.




回答5:


There is now a definitive list of C++11 features in VS2010 and VS2012 on MSDN.




回答6:


http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx




回答7:


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

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



来源:https://stackoverflow.com/questions/7421825/c11-features-in-visual-studio-2012

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!