解决Visual Studio设置C++标准 但是_cplusplus始终为199711

这篇具有很好参考价值的文章主要介绍了解决Visual Studio设置C++标准 但是_cplusplus始终为199711。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


场景复现

我在VS2022偶然的一次测试C++标准开发环境,发现无论我怎么修改C++语言标准,输出的__cplusplus宏总是199711
解决Visual Studio设置C++标准 但是_cplusplus始终为199711,Debug,c++,visual studio,microsoft,C++标准

Visual Studio官方说明

链接:https://learn.microsoft.com/zh-cn/cpp/build/reference/zc-cplusplus?view=msvc-170&viewFallbackFrom=vs-2022

注解
__cplusplus 预处理器宏通常用于报告 C++ 标准特定版本的支持。因为很多现有代码需要此宏的值与 199711L 匹配,所以编译器不会更改此宏的值,除非通过使用 /Zc:__cplusplus 编译器选项进行显式选择。 从 Visual Studio 2017 版本 15.7 开始便已提供 /Zc:__cplusplus 选项,该选项在默认情况下处于禁用状态。 在早期版本的 Visual Studio 中,在默认情况下或者在指定了 /Zc:__cplusplus- 的情况下,Visual Studio 针对 199711L 预处理器宏返回值 __cplusplus。 /permissive- 选项不启用 /Zc:__cplusplus。
启用 /Zc:__cplusplus 选项后,__cplusplus 宏报告的值取决于 /std 版本选项设置。 下表列出了该宏的可能值:
/Zc:__cplusplus 选项 /std 选项 __cplusplus 值
Zc:__cplusplus /std:c++14(默认值) 201402L
Zc:__cplusplus /std:c++17 201703L
Zc:__cplusplus /std:c++20 202002L
Zc:__cplusplus /std:c++latest 查看文本
Zc:__cplusplus-(已禁用) 任何值 199711L
未指定 任何值 199711L
编译器不支持 C++98、C++03 或 C++11 的标准选项。 从 Visual Studio 2019 版本 16.11 开始,/std:c++20 选项可用。 /std:c++latest 选项的 __cplusplus 值取决于 Visual Studio 的版本。 它始终比 Visual Studio 版本支持的最高支持标准值 __cplusplus 至少高 1。
若要更精细地检测对编译器工具集的更改,请使用 _MSC_VER 预定义宏。 此内置宏的值会随 Visual Studio 2017 和更高版本中的每个工具集更新而增加。 _MSVC_LANG 预定义宏向标准版本报告 /Zc:__cplusplus 是启用还是禁用状态。 启用 /Zc:__cplusplus 后,__cplusplus 具有与 _MSVC_LANG 相同的值。

C++标准对应表

c++ __cplusplus
std::c++98 199711
std::c++11 201103
std:c++14 201402L/201300
std:c++17 201703L
std:c++20 202002L

解决方案

方法一 恢复__cplusplus宏

在 Visual Studio 中设置此编译器选项,打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
选择“配置属性”>“C/C++”>“命令行”属性页。将 /Zc:__cplusplus 或 /Zc:__cplusplus- 添加到“附加选项:”窗格中。。

方法二 使用_MSVC_LANG宏

我们只需要将之前的__cplusplus宏替换为_MSVC_LANG即可。
解决Visual Studio设置C++标准 但是_cplusplus始终为199711,Debug,c++,visual studio,microsoft,C++标准文章来源地址https://www.toymoban.com/news/detail-742959.html

到了这里,关于解决Visual Studio设置C++标准 但是_cplusplus始终为199711的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Visual Studio 主题和背景设置

    平日里敲代码的过程难免会有点枯燥,,但是一个舒适、好看的编译器界面会让你的工作更加愉悦。本篇博客将介绍如何设置vs的主题和背景。 首先我们在编译器最上方的的一栏中找到工具。 然后再选项中寻找主题。 我们可以看到提供了四种主题,我们可以从中挑选自己喜

    2024年02月05日
    浏览(49)
  • visual studio 2019恢复默认设置

    在使用microsoft visual studio的过程中,经常由于自己的一些sao操作,把窗口、字体、快捷键搞乱,怎么将microsoft visual studio恢复默认设置呢?其实很简单,那么今天小编就和大家一起分享将microsoft visual studio恢复默认设置的方法, 我们在使用 Visual Studio 的时候,常常有一些窗口不

    2024年02月03日
    浏览(39)
  • Visual Studio Code常用设置

    此处用于记录下本人所使用 VScode 的使用习惯。其中主要包括:界面,主题,光标,文件保存等选项。 基本原理 : Visual Studio Code 会在 windows 的 C 盘中生成一系列配置文件,软件工作时调用该文件所定义的函数执行对应功能。 该文件位于: C盘中的 C:Users20220601-MJAppDataRoa

    2024年01月16日
    浏览(92)
  • Visual Studio 设置快捷代码段

    什么是快捷代码段: 例如: 只需要输入mst后按一下TAB就会自动生成代码memset(str, 0, sizeof(str));,只需要输入Pow就可以自动生成一个快速幂函数等等,非常方便快捷,一定程度提高了编写代码的效率   Visual Studio 设置自定义代码段方法: ①新建文件XXX.snippet,其中的\\\"XXX\\\"就是上

    2024年02月08日
    浏览(41)
  • visual studio设置主题和背景颜色

        visual studio2019默认的主题有4种,分别是浅白色、深黑色、蓝色、蓝(额外对比度),背景颜色默认是纯白色RGB(255,255,255)。字体纯白色看久了,眼睛会感到酸痛、疲劳,建议改成浅白RGB(250,250,250)、豆沙绿RGB(85,123,105)、透明蓝白色RGB(248,249,253)、炫酷黑RGB(30,30,30)或RGB(50,50,50)等

    2024年02月05日
    浏览(47)
  • Visual Studio 新建文件增加默认代码设置

    新建一个新的空项目时,设置自动加入代码 #define _CRT_SECURE_NO_WARNINGS 具体方法如下   1、找到当前使用的Visual Studio文件目录(以Visual Studio2022为例) 2、找到文件目录后,若不知道在哪个文件夹中可以点击“Microsoft Visual Studio”中的“2022”文件夹,在这里搜索“newc++file.cpp”文

    2024年02月11日
    浏览(40)
  • Visual Studio终于可以设置行间距了

    随着Microsoft Visual Studio 2022 (64 位) 版本 17.0.4的发布, Visual Studio终于可以设置行间距了! 工具 → 选项 → 文本编辑器 → 常规 → 行距 :

    2024年02月11日
    浏览(36)
  • Visual Studio Code设置中文的方法

    visual studio Code这是一款编程软件,可以进行c语言文件的编辑操作,很多编程专业的小伙伴经常会使用该软件进行编辑,Visual Studio Code的功能非常的强大,该软件提供很多个版本,有些版本之间可能有的功能有些差异,越是新版,功能越是更加的丰富,但是我们下载的Visual

    2024年02月04日
    浏览(48)
  • Visual Studio中如何设置背景图片,壁纸

    学习编程是一个漫长的过程,设置一个自己喜欢的背景图片,可以给我们的学习过程添加一些乐趣。 下面是效果图 目录 1.在扩展中下载ClaudialDE 2.设置背景图片 3.隐藏窗口  3.或使窗口透明 4.修改注释颜色 扩展—管理扩展  在右边搜索框内搜索background,下载第一个ClaudialDE和

    2023年04月26日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包