C++10 vc10 的特性

http://blogs.msdn.com/b/vcblog/archive/2010/04/06/c-0x-core-language-features-in-vc10-the-table.aspx

 

While I cant explain all of these features here, Ican link to my posts about lambdas v1.0, auto, and static_assert, rvalue references v1,and decltype, and I can decode some of the more mysterious cells in this table.

 

The difference between what i call rvalue references v1 and rvale references v2  is that v1 allowed rvalue references to bind to lvalues, whle v2 forbids this. N2844 Fixing a Saftype Problem with Rvalue References describes the reasons for this change. It was recently voted into the C++0x Working Paper, and there was enough time for us to implement it in VC10. Importantly, rvalue references v2 doesnt affect the move semantics or perfect forwarding patterns, but it does affect the implementtation of std::move9) and std::forward<T>(), and experts need to know aoubt this change.

 

The difference between what I call lambdas v1.0 and lambdas v1.1 is mush less significant. After lambdas were voted into the Working Paper and implemented in VC10, N2927 New wording for C++0x Lambdas was additionlay ltoted into the WOrking Parper, clarifying subtleties like what happends with nested lambdas.l Common use of lambdas aren;n really affected , but unusual uses may be.

 

The Partial entries indicate that VCs support is either incomplete(), or in a non-Standard from ()

猜你喜欢

转载自yangbinfx.iteye.com/blog/2117072