1. 首页
  2. >
  3. 编程技术
  4. >
  5. C++

用VisualStudio2019预览版体验C++20新功能

最近的连载中有很多内容涉及到C++20中的内容,例如concept等。但是由于C++20还属于新生事物,不仅可以参考的例子少,找到一个可以体验C++20功能的开发环境都困难。本文介绍使用微软VisualStudio2019预览版体验C++20新特性的方法。

下载并安装VisualStudio体验版

以下是体验版和正式版的下载地址,和正式版稍有不同:

https://visualstudio.microsoft.com/zh-hans/vs/preview/

用VisualStudio2019预览版体验C++20新功能

上图中选择下载社区版(Community)下载在线安装包。

安装包开始执行之后,选择下图中【使用C++的桌面开发】并按照提示进行安装。

用VisualStudio2019预览版体验C++20新功能

创建C++20项目

启动VisualStudio2019预览版之后,按照下图构建【控制台应用】。

用VisualStudio2019预览版体验C++20新功能

修改编译器设定

项目构建完成之后,打开项目设定画面,如下图所示选择【语言】设定,并将【C++语言标准】修改为【预览-最新C++工作草案中的功能(/std:c++latest)】

用VisualStudio2019预览版体验C++20新功能

编译并执行

从2019年9月10日的预览版16.3开始,VisualStudio2019开始支持concept特性,消息发布的链接如下:

https://devblogs.microsoft.com/cppblog/c20-concepts-are-here-in-visual-studio-2019-version-16-3

但是,如果真是用VisualStudio预览版编译concept相关代码(比如上面链接中的代码)时,会发生编译错误。原因仅仅是因为代码智能解析功能还不支持concept特性。对策也很简单,只要按照下图选择生成方式为【仅生成】即可正常编译通过(如果使用上述示例代码,还需要自己加一个main函数)。

用VisualStudio2019预览版体验C++20新功能

主要编译器对C++20的支持情况

目前VisualStudio2019对已经支持concept相关功能,而range相关功能正在开发中。主流编译器对C++20的支持情况可以参照下面的链接(中文网站稍有落后):

https://en.cppreference.com/w/cpp/compiler_support