0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言的重大更新 C++17标准发布

5RJg_mcuworld 2017-12-08 14:46 次阅读

最近,ISO C++ 委员会正式发布了 C++ 17 标准,正式名称为 ISO/IEC 14882:2017。

基于 C++ 11,C++ 17 旨在使 C++ 成为一个不那么臃肿复杂的编程语言,以简化该语言的日常使用,使开发者可以更简单地编写和维护代码。

C++ 17 是对 C++ 语言的重大更新,引入了许多新的语言特性:

UTF-8 字符文字

折叠表达式 (fold expressions):用于可变的模板

内联变量 (inline variables):允许在头文件中定义变量

在 if 和 switch 语句内可以初始化变量

结构化绑定 (Structured Binding):for (auto [key,value] : my_map) {…}

类模板参数规约 (Class Template Argument Deduction):用pair p{1, 2.0};替代pair{1, 2.0};

此外,C++ 17 还带来了并行 STL,派生自 Boost 的文件系统库等其他特性。作为标准库中新的关键“词汇类型”,std::string_view和std::optional将会以函数参数和返回类型的形式广泛使用。这允许开发者编写更简单的签名,例如:在字符串类型上可以用std::string_view替代模板化 (Templatizing);开发者可在函数体内更多地用std::variant和std::any类型作为类成员,并内部使用。

我们也曾报道过 C++ 17 的一些新特性,具体内容可点此查看。

LLVM 的 Clang 编译器也已经将代码中出现“C++1z”的地方修改为“C++17”(C++ 17 曾被称为 C++1z)。GCC 和 LLVM/Clang 都有效地提供了完整的 C++ 17 支持。

对于正在进行中的 C++ 20,预计在两年内( 2019 年夏天)完成所有功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ISO
    ISO
    +关注

    关注

    0

    文章

    256

    浏览量

    39586
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73625

原文标题:C++17 标准正式发布,以后开发者可更简单地编写和维护代码

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C语言标准库的基本使用

    写出看起来专业的C代码,除了规范的变量/函数命名,还需要熟练使用C语言标准库。当为了数组拷贝自己编写一个for循环的时候(可以用memcpy),其他读者看到这种代码,肯定会感叹程序员
    发表于 09-14 14:04 696次阅读

    C语言标准#硬声创作季

    标准C语言
    学习电子
    发布于 :2022年10月27日 21:12:18

    1.5C语言C++、C++17、VC++

    C++
    电路设计
    发布于 :2023年01月10日 12:40:14

    C语言:标准和实现

    C 语言标准与实现 The Standards and Implementations of the C Programming Language前言
    发表于 11-27 22:27 58次下载

    C语言标准库函数

    C语言标准库函数,使用C语言编程时,常用到的函数。
    发表于 05-11 16:41 0次下载

    C语言标准与实现

    C语言标准与实现 HENBUCUO BJBUI
    发表于 06-08 18:18 0次下载

    基于C语言标准库函数

    基于C语言标准库函数
    发表于 10-23 17:41 11次下载
    基于<b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>标准</b>库函数

    C51单片机C语言标准C语言有什么区别?

    一:C51(单片机C语言)与标准C语言的区别1、 C
    发表于 10-09 08:00 134次下载
    <b class='flag-5'>C</b>51单片机<b class='flag-5'>C</b><b class='flag-5'>语言</b>与<b class='flag-5'>标准</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>有什么区别?

    C++17 STL标准库学习教材电子书免费下载

    C++11,C++14和C++17标准C++添加了许多新特性。当前的C++已经和10年前的
    发表于 02-28 08:00 7次下载
    <b class='flag-5'>C++17</b> STL<b class='flag-5'>标准</b>库学习教材电子书免费下载

    C51语言

    C51语言C51语言标准C语言间有许多相同地方,但
    发表于 11-21 15:21 26次下载
    <b class='flag-5'>C</b>51<b class='flag-5'>语言</b>

    C语言的发展历史

    C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家
    的头像 发表于 02-17 14:31 3127次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>的发展历史

    C++17引入的一个新特性void_t简析

    void_t是C++17引入的一个新特性,它的定义很简单(有些编译器的实现可能不是这样,但也大体类似)
    的头像 发表于 03-06 09:37 1194次阅读

    c++入门后如何进阶

    C++11 是下一个 C++ 标准,但我们通常称之为现代 C++。现代 C++ 也包括了 C++
    发表于 07-21 08:56 342次阅读
    <b class='flag-5'>c</b>++入门后如何进阶

    C++98到C++26,经历了什么?

    上个月,C++26时间表发布,将会在“并发和并行性方面有重大改进”。而已经推出的C++ 23版本则沿袭了C++17的传统特征,完善了现有特性
    的头像 发表于 08-09 16:01 1056次阅读
    从<b class='flag-5'>C</b>++98到<b class='flag-5'>C</b>++26,经历了什么?

    a17和a16的参数区别

    a17和a16的参数区别  在当今互联网威廉希尔官方网站 飞速发展的时代里,编程语言也在不断的更新和改进。作为现代编程语言中的经典之作,C++一直占据着重
    的头像 发表于 08-16 11:47 1231次阅读