Visual Studio \"14\"聚焦下一代C++规范

Visual Studio “14”的第一个预览版本包含了下一个C++ 11/14依从性层次将要包含的细节。微软的高级开发人员Stephen T. Lavavej就C++14在Visual Studio “14”中的支持层次撰文补充了一些额外的细节

\

这一工作是针对VS2013RTM所做的修改,覆盖了三大类:标准模板库(STL)补充、STL修正和STL的非兼容性修改。值得注意的是,Lavavej介绍说,“14”中C++ STL的相关工作主要是4位开发者完成的:Lavavej、P.J. Plauger、Artur Laksberg和James McNellis。

\

“14”中对STL的补充全部基于已批准的C++14规范以及Filesystem V3这一技术规范:

\
  1. N3642 \u0026lt;chrono\u0026gt;/\u0026lt;string\u0026gt; UDLs\
  2. N3644 Null Forward Iterators\
  3. N3654 quoted()\
  4. N3657 Heterogeneous Associative Lookup\
  5. N3658 integer_sequence\
  6. N3668 exchange()\
  7. N3670 get\u0026lt;T\u0026gt;()\
  8. N3671 Dual-Range equal()/is_permutation()/mismatch()\
  9. N3779 \u0026lt;complex\u0026gt; UDLs\
  10. N3887 tuple_element_t\
  11. N3940 Filesystem \"V3\" Technical Specification\

解决了十多项C++14中列出的库问题,还包含了一些对现有STL的修正:\u0026lt;chrono\u0026gt;中的Clock支持有所改进,\u0026lt;atomic\u0026gt;改进了编译时间校正(不再包含内联X86汇编),还有一个从2006开始就一直存在于\u0026lt;locale\u0026gt;中的bug也被修正了。

\

生成的目标文件更为高效,而且通常要比VS2013生成的小得多。regex支持上也有很多改进, 修复了一些bug,并提供了一个更为稳定的实现。

\

使用gets()的开发者应该注意,该函数已经被从C++11和C++14中移除,所以在Visual Studio中,gets()将由CRT(C语言运行时)中的\u0026lt;stdio.h\u0026gt;提供,不会再存在于STL的\u0026lt;cstdio\u0026gt;中。

\

Lavavej提到,除了这些修改,有些地方的修改破坏了向后兼容性。受影响的地方包括Filesystem的V3接口带来的修改(与V2相比),以及_USE_32_BIT_TIME_T的使用会触发编译器警告。iostreams中还有一个与其浮点数解析方式有关的已知bug,开发仍在进行。

\

如果有意全面了解所有细节,一定要阅读一下Lavavej的文章

\

查看英文原文:Visual Studio \"14\" Sharpens Focus on Modern C++

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值