vs如何使用c++20标准

一、c++20标准

目前c++标准有c++98、c++03、c++11、c++14、c++17、c++20;

  • C++ 98
    C++标准第一版,1998年发布。正式名称为ISO/IEC 14882:1998。
    绝大多数编译器都支持C++98标准。不过当时错误地引入了export关键字。由于技术上的实现难度,除了Comeau C++编译器export关键字以外,没有任何编译器支持export关键字。并且这个标准对现代的一些编译理念有相当的差距,有很多在高级语言都应当有的功能,它都没有。这也正是后来需要制定C++11标准的原因所在。

  • C++ 03
    C++标准第二版,2003年发布。正式名称为ISO/IEC 14882:2003。这个标准仅仅是C++98修订版,与C++98几乎一样,没做什么修改。仅仅是对C++98做了一些“勘误”,就连主流编译器(受C99标准影响)都已支持的long long都没有被加入C++03标准。

  • C++ 11
    C++标准第三版,2011年8月12日发布。正式名称为ISO/IEC 14882:2011。
    由C++标准委员会于2011年8月12日公布,并于2011年9月出版。2012年2月28日的国际标准草案(N3376)是最接近于现行标准的草案(编辑上的修正)。C++11包含了核心语言的新机能,并且拓展C++标准程序库,并且加入了大部分的C++ Technical Report 1程序库(数学上的特殊函数除外)。此次标准为C++98发布后13年来第一次重大修正。

  • C++ 14
    C++标准第四版,2014年8月18日发布。正式名称为ISO/IEC 14882:2014。
    2014年8月18日,ISO组织在其网站上发布文章称:
    C++ 作者 Bjarne Stroustrup 称,主要的编译器开发商已经实现了 C++ 14 规格。
    C++ 14 是 C++ 11 的增量更新,主要是支持普通函数的返回类型推演,泛型 lambda,扩展的 lambda 捕获,对 constexpr 函数限制的修订,constexpr变量模板化等。

  • C++ 17
    2017年12月5日发布,正式名称为 ISO/IEC 14882:2017。

  • C++ 20
    2020年12月18日发布,正式名称为 ISO/IEC 14882:2020。
    C++20新特性:
    模块 (Modules)
    协程 (Coroutines)
    范围 (Ranges)
    概念与约束 (Constraints and concepts)
    指定初始化 (designated initializers)
    操作符 <=> != ==
    constexpr支持:new/ delete、dynamic_cast、try/ catch、虚拟
    constexpr 向量和字符串
    计时:日历、时区支持
    std::format
    std::span
    std::jthread

C标准&C++标准

二、visual studio哪个版本支持c++20标准

  • 微软的visual studio,从vs2019开始支持c++20标准

The /Zc:char8_t option is available starting in Visual Studio 2019 version 16.1. It’s enabled automatically when you specify /std:c++20 or later (such as /std:c++latest). Otherwise, it’s off by default.

参见:Zc:char8_t (Enable C++20 char8_t type)

三、vs设置支持的c++语言标准

  • 【项目】-【属性】-【配置属性】-【c/c++】-【语言】
  • 把【c++语言标准】选择为【ISO C++20 标准 (/std:c++20)】
  • 然后就支持c++20标准了
    在这里插入图片描述

四、demo

  • char8_t为c++20中定的关键字,如下图所示,支持char8_t。
  • 在这里插入图片描述
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑同学的笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值