Visual Studio 2017设置c++标准

https://docs.microsoft.com/zh-cn/cpp/build/reference/std-specify-language-standard-version?view=vs-2019

  • /std:c++14 和 /std:c++latest:通过这些编译器开关可选择在项目中加入特定版本的 ISO C++ 编程语言。 大多数新的草案标准功能由 /std:c++latest 开关保护。

  • 通过 /std:c++17 可使用编译器实现一组 C++17 功能。 对于在 C++17 之后的工作草案版本及 C++ 标准版缺陷更新中更改或新增的功能,此选项会禁用编译器和标准库支持。 要启用这些功能,请使用 /std:c++latest。

  •  

/std(指定语言标准版本)

  • 2019/05/16
  • 从 C++ 语言标准的指定版本启用支持的 C++ 语言功能。

    语法

    /std:[c++14|c++17|c++latest]

    备注

    “/std”选项在 Visual Studio 2017 及更高版本中提供 。 它用于控制在编译代码期间启用的特定于版本的 ISO C++ 编程语言标准功能。 此选项可禁用对某些新语言和库功能的支持,这些功能可能会破坏符合特定语言标准版本的现有代码。 默认情况下,指定了“/std:c++14”,这将禁用更高版本 C++ 语言标准中的语言和标准库功能 。 使用“/std:c++17”启用 C++17 标准特定的功能和行为 。 若要显式启用当前实施的编译器和为下一个草案标准建议的标准库功能,请使用“/std:c++latest” 。 所有 C + + 个 20 功能都需要 /std: c + + 最新; 实现完成后,新 /std: c + + 20选项将启用。

    默认的“/std:c++14”选项启用由 MSVC 编译器实现的 C++14 功能集 。 此选项禁用更新版语言标准中更改或新增功能的编译器和标准库支持,已在 MSVC 编译器的以前版本中实现的一些 C++17 功能除外。 为避免对已经依赖 Visual Studio 2015 Update 2 中可用功能的用户进行中断性更改,在指定“/std:c++14”选项时,这些功能仍保持启用状态 :

    有关在指定“/std:c++14”时启用哪些 C++14 和 C++17 功能的其他信息,请参阅 Visual C++ 语言一致性中的注释 。

    “/std:c++17”选项启用 MSVC 编译器实现的整组 C++17 功能 。 对于在 C++17 之后的工作草案版本及 C++ 标准版缺陷更新中更改或新增的功能,此选项会禁用编译器和标准库支持。

    “/std:c++latest”选项启用编译器和库中当前实现的 post-C++17 语言和库功能 。 这些可能包括 C++20 工作草案中的功能和 C++17 中未包含的 C++ 标准的缺陷更新,以及草案标准的实验建议。 有关支持的语言和库功能列表,请参阅 Visual C++ 的新增功能。 “/std:c++latest”选项不启用由“/experimental”开关保护的功能,但可能需要启用它们 。

     重要

    由“/std:c++latest”启用的编译器和库功能代表了未来 C++ 标准中可能出现的功能,以及已批准的 C++20 功能 。未经批准的功能可能会在不经通知的情况下进行中断性变更或删除,并按原样提供。

    可以使用 _MSVC_LANG 预处理器宏来检测在 C++ 编译期间有效的“/std”选项 。 有关详细信息,请参阅 预处理器宏

    从 Visual Studio 2015 Update 3 开始,可以使用“/std:c++14”和“/std:c++latest”选项 。 从 Visual Studio 2017 15.3 版开始,可以使用“/std:c++17”选项 。 如上所述,“/std:c++14”选项启用某些 C++17 标准行为,而“/std:c++17”启用所有其他 C++17 功能 。 “/std:latest”启用 C++20 功能,直到实现完成 。

     备注

    根据 MSVC 编译器版本或更新级别,当指定“/std:c++17”选项时,C++17 功能可能无法完全实现或完全符合 。有关 Visual C++ 中 C++ 语言一致性(按发布版本)的概述,请参阅 Visual C++ 语言一致性

    在 Visual Studio 开发环境中设置此编译器选项

    1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

    2. 依次选择“配置属性”、“C/C++”和“语言” 。

    3. 在“C++ 语言标准”中,从下拉控件中选择要支持的语言标准,然后选择“确定”或“应用”以保存更改 。

    请参阅

    MSVC 编译器选项
    MSVC 编译器命令行语法

反馈

发送有关以下对象的反馈

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值