Visual Studio下__cplusplus宏为199711L的问题

/ Zc:__ cplusplus(启用更新的__cplusplus宏)

该/ ZC:__ CPLUSPLUS编译器选项使__cplusplus预处理宏为最近C ++语言标准的支持报告的更新值。 默认情况下,Visual Studio始终为__cplusplus预处理器宏返回值“199711L” 。

句法

/ Zc:__ cplusplus [ - ]

备注

所述__cplusplus预处理宏通常用来报告用于C ++标准的特定版本的支持。 由于许多现有代码似乎依赖于此宏匹配“199711L”的值,因此编译器不会更改宏的值,除非您使用/ Zc:__ cplusplus编译器选项明确选择加入。该/ ZC:__ CPLUSPLUS选项可用在Visual Studio 2017年开始15.7版本,并且默认是关闭的。在早期版本的Visual Studio中,默认情况下,或者如果指定了/ Zc:__ cplusplus-,Visual Studio将为__cplusplus预处理器宏返回值“199711L” 。该/ permissive- 选项不启用/ Zc:__ cplusplus。

当/ ZC:__ CPLUSPLUS启用选项,则所报告的值__cplusplus宏依赖于/ STD版开关设置。 此表显示宏的可能值:

/ Zc:__ cplusplus开关 / std:c ++开关 __cplusplus值
Zc:__ cplusplus / std:c ++ 14(默认) 201402L
Zc:__ cplusplus / STD:C ++ 17 201703L
Zc:__ cplusplus / STD:C ++最新 201704L
Zc:__ cplusplus-(禁用) 任何价值 199711L
未标明 任何价值 199711L

编译器不支持C ++ 98,C ++ 03或C ++ 11的标准交换机。

要更精细地检测编译器工具集的更改,请使用_MSC_VER预定义宏。 对于Visual Studio 2017及更高版本中的每个工具集更新,此内置宏的值都会递增。无论/ Zc:__ cplusplus选项是启用还是禁用,_MSVC_LANG预定义宏都会报告标准版本。当/ Zc:__ cplusplus启用时,。 __cplusplus == _MSVC_LANG

在Visual Studio中设置此编译器选项

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

  2. 选择“ 配置属性” >“ C / C ++” >“ 命令行”属性页。

  3. 将/ Zc:__ cplusplus或/ Zc:__ cplusplus-添加到其他选项:窗格。

参考:

1./ Zc:__ cplusplus(启用更新的__cplusplus宏)

2.VS2017下__cplusplus宏为199711L的问题

Visual Studio下__cplusplus宏为199711L的问题的更多相关文章

  1. Visual Studio下SQLite数据库开发环境设置

    由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...

  2. Cocos开发中Visual Studio下HttpClient开发环境设置

    Cocos2d-x 3.x将与网络通信相关的类集成到libNetwork类库工程中,这其中包括了HttpClient类.我们需要在Visual Studio解决方案中添加libNetwork类库工程. ...

  3. Cocos开发中Visual Studio下libcurl库开发环境设置

    我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...

  4. Visual Studio下Qt编程中对中文的处理

    Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual St ...

  5. Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建

    我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...

  6. Cocos发育Visual Studio下一个HttpClient开发环境设置

    Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...

  7. Visual Studio下使用jQuery的10个技巧

    广泛流行的jQuery是一个开源的,跨浏览器和兼容CSS 3的JavaScript库,你可以用它简化你的JavaScript编码任务和操作(添加,编辑和删除)HTML内容中的DOM元素,本文介绍10个 ...

  8. CMake在Visual Studio下保持目录结构

    CMake在Visual Studio下保持目录结构 原理 主要通过CMAKE自带函数source_group来设定. 需要把add_executable()函数进行封装,包裹一层source_gro ...

  9. Visual Studio下运行PowerShell脚本自增小版本号并发布到Nuget服务器上

    Visual Studio下运行PowerShell脚本自动更新项目里AssemblyInfo.cs文件的版本(自增小版本号)并发布到Nuget服务器上 附脚本[ update.ps1文件内容]: $ ...

随机推荐

  1. group_by和having的用法

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,Enum ...

  2. [python] 格式化方法 format

    先介绍包含的所有规则 花括号声明{}:用于渲染前的参数引用声明,花括号里可以用数字代表引用参数的序号,或者变量名直接引用. 从format参数引入的变量名 冒号: 字符位数声明 空白自动填补符的声明 ...

  3. 【转帖】SQL Server 各版本发布时间和开发代号

    SQL Server 各版本发布时间和开发代号 2019年01月23日 11:07:44 努力挣钱娶媳妇的苗同学 阅读数 278 https://blog.csdn.net/weixin_446098 ...

  4. 自然语言处理工具HanLP-N最短路径分词

    本篇给大家分享baiziyu 写的HanLP 中的N-最短路径分词.以为下分享的原文,部分地方有稍作修改,内容仅供大家学习交流! 首先说明在HanLP对外提供的接口中没有使用N-最短路径分词器的,作者 ...

  5. __metaclass__方法

    metaclass这个属性叫做元类,它是用来表示这个类是由谁来帮他实例化创建的,说白了,就是相当于自己定制一个类. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  6. 使用Redis實現秒殺功能

    <?php $id = 1; $pdo=new PDO("mysql:host=127.0.0.1;dbname=test","root","r ...

  7. python之成像库pillow

    目录 python之成像库pillow 官方文档 图像模块(Image.Image) Image模块的功能 Image.new(mode,size,color): Image.open(file,mo ...

  8. Ruby Rails正式学习:Ruby on Rails 做个演示项目吧,逐渐完善

    项目开始 一. 新建Rails项目 1. 修改一下Gemfile文件(简单修改一下) source 'https://rubygems.org' git_source(:github) { |repo ...

  9. phpmyadmin出现空密码登录被禁止 (参见 允许空密码)的解决办法

    在Windows或者Linux下mysql安装后默认的密码为空,又当我们又安装了mysql的管理工具phpmyadmin后登陆时出现“空密码登陆呗禁止(参见允许密码为空)”.不能登录成功        ...

  10. cut--修剪小能手

    cut命令 cut原理:以每一行位一个处理对象. 参数选项 解释说明 -b 以字节为单位进行分割 -c 以字符为单位进行分割(对切割中文有奇效) -d 自定义分隔符号,默认以tab为分隔符 1:-b ...