写点什么

Visual Studio 提升了对 C++14 的支持

  • 2013-11-27
  • 本文字数:814 字

    阅读完需:约 3 分钟

在今年的七月份 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,同时不要在使用析构函数的时候抛出异常。

查看英文原文 Visual Studio’s C++14 Support Grows

2013-11-27 06:082454
用户头像

发布了 321 篇内容, 共 134.7 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

2022-09-19:给定字符串 S and T,找出 S 中最短的(连续)子串 W ,使得 T 是 W 的 子序列 。 如果 S 中没有窗口可以包含 T 中的所有字符,返回空字符串 ““。 如果有不

福大大架构师每日一题

算法 rust 福大大

面对全新的编程语言,这些思路可以帮助你察觉漏洞

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞利用

高并发之负载均衡

源字节1号

软件开发

Orbeon form 的安装和使用教程

汪子熙

typescript SAP Hybris form 9月月更

本周预告:资深架构师解读多架构体系下的内核与系统开发等技术演讲 | 第47-48期

OpenAnolis小助手

开源 ebpf sig 龙蜥大讲堂 普华

史上最详细vue的入门基础

楠羽

Vue 笔记 9月月更

Qt|ListWidget控件总结

中国好公民st

List qt 9月月更

OKR之剑·理念篇02: OKR布道之旅

vivo互联网技术

团队管理 OKR 目标管理

通过爬虫爬取一些图片

吉师职业混子

9月月更

【字符串函数内功修炼】strlen + strstr + strtok + strerror(三)

Albert Edison

C语言 9月月更 strlen strstr strtok

Chrome操作指南——入门篇(七)console中的await和log

Augus

Chrome开发者工具 9月月更

如何用AR Engine开发一个虚拟形象表情包?

HarmonyOS SDK

AR

在windows电脑上配置kubectl远程操作kubernetes

程序员欣宸

Kubernetes 9月月更

MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描

MASA技术团队

.net MASA MAUI Xamarin

NGINX 的未来:回到开源的初心

NGINX开源社区

nginx Kubernetes nginx 开源版 NGINX Kubernetes Gateway NGINX Amplify

挑战30天学完Python:Day3夯实基础-布尔值和运算符

MegaQi

9月月更 挑战30天学完Python

那些你不知道的炫酷按钮交互效果

南城FE

CSS 前端 动画 交互设计 按钮

Hinton等谈深度学习十年;PyTorch落地Linux基金会的影响;机器学习界的“GitHub”|AI系统前沿动态

OneFlow

人工智能

《简单记个笔记》之部分CSS选择器介绍

吉师职业混子

9月月更

Python语法之数据类型

芯动大师

Python 数据类型 9月月更

[极致用户体验] 多页面应用里,「网页内返回」按钮,何时用 history.back 何时用 replaceState?

HullQin

CSS JavaScript html 前端 9月月更

Flomesh 多租户 Ingress Controller

Flomesh

Service Mesh 服务网格

Python 教程之变量

芯动大师

变量 9月月更 Python语法

Chrome操作指南——入门篇(五)Snippets

Augus

Chrome开发者工具 9月月更

Python教程之Python简介

芯动大师

编程语言 9月月更 Python简介

PLG SaaS 产品 Figma 商业模式拆解

程序员泥瓦匠

SaaS

Chrome操作指南——入门篇(六)console.injector

Augus

Chrome开发者工具 9月月更

ScrumMaster可不是项目经理!

ShineScrum

Scrum ScrumMaster 项目经理

行业方案|“机场”行业智能运维解决方案介绍

云智慧AIOps社区

解决方案 智能运维 运维管理 智能运维AIOps 监控安全

Visual Studio提升了对C++14的支持_语言 & 开发_Jeff Martin_InfoQ精选文章