在今年的七月份Microsoft就发布了将现代C++集成到Visual Studio中的路线图。Visual Studio 2013中将会包含的C++语言特性在那个时候就已经固定了下来,现在一个新的CTP版本已经发布了,该版本让VC++更加接近于C++14。
该包的标题为Visual C++ Compiler November 2013 CTP,它提供了下面的特性:
- 隐式移动(move)特殊的成员函数(也实现了=default)
- 成员函数上的引用限定符(也称为 “& and && for *this”)
- 线程安全的函数本地静态初始化(也称为“神奇的静态化”)
- 继承构造函数
- alignof/alignas
- __func__
- 扩展的sizeof
- constexpr (除了构造函数)
- noexcept(无条件的)
- C++14 decltype(自动)
- C++14 auto 函数返回值类型推理
- C++14 泛型lambda(支持显式的lambda捕获列表)
- (C++17的提议) 可恢复的函数和 await
对于那些对该包感兴趣的早期采纳者而言,一个重要的细节是该包并没有包含“Go Live”许可,这意味着它不能在产品代码开发中使用。根据Microsoft公司的Stephen T. Lavavey所提供的信息,该版本以及将来的Visual Studio 2013 VC++ CTP版本都不会包含“Go Live”许可。总之,Visual Studio Next将会是最快的可以在产品环境中使用这些特性的版本。Lavavey还透露,下面的C++11核心语言特性依然悬而未决:“表达式SFINAE、属性(包含用于数据依赖排序的那些)、成员函数上的常量表达式(constexpr)、char16_t/char32_t、Unicode字符串字面值、字面值中的通用字符名、用户定义的字面值、内联命名空间、自由的(unrestricted)联合、有条件的noexcept、thread_local和遵循C99规范的预处理器….”。
Microsoft已经发布了一篇文档,其中列出了在使用该CTP的时候用户有可能会遇到的一些痛点。特别是智能感知(IntelliSense)和IDE某些区域不支持的新关键词。另外一个需要注意的内容是await关键词需要Windows 8.1,同时不要在使用析构函数的时候抛出异常。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
求助,Windows 8装Docker遇到问题
报错信息: admin@TOPSEC ~ $ docker version Client version: 1 […]
-
ASP.NET Web Forms的改进
虽然ASP.NET Web Forms不是vNext计划的一部分,但它并没有被忽视。作为Visual Studio 2013 Update 2的一部分,它重新开始支持新工具、EF集成和Roslyn。
-
紧跟IT变革 Windows 8助企业实现BYOD梦
俗话说,“长江后浪推前浪,一浪更比一浪强”,互联网的出现曾彻底改变了人们的工作方式,让我们不再拘于某个地点。
-
.NET Native:C++的性能 C#的产能?
.NET Native可以将C#代码编译为本地机器码,最令开发者兴奋地是,使用.NET Native预览版不仅会让应用拥有C++般的性能表现,还可以实现C#般的生产力,兼具二者之长。