导读 GCC 11 会将默认前端语言从 C++14 变更为 C++ 17。

GCC 11 会将默认前端语言从 C++14 变更为 C++ 17。

从 GCC 9 开始,对 C++ 17 的支持已经不再是实验性质,C++ 前端实现了完整的 C++ 17 语言,并且 C++ 标准库支持几乎也完成了(不过目前还有两个库特性有待完善)。

目前在 GCC 中,当不指定任何版本 C++ 标准时,默认版本是 C++ 14(从 GCC 6.1 开始)。但是随着 GCC 对 C++ 17 的支持现在已经有一年以上的成熟期,并且 GCC 11 将于明年发布,开发团队认为是时候将 C++ 17 用作 GCC 11 的默认前端了。虽然可以在 GCC 10 中进行此更改,但是它已经进入周期的后期阶段,没有太多时间来解决可能出现的任何后果;而虽然 GCC 已经在不断支持 C++ 2a/C++ 20,但目前要进行默认的转换还为时过早。

GCC 11 源码中已经将 C++ 17 更改为默认前端语言。C++ 17 有许多新的特性,包括:删除 trigraphs、在模板参数中允许使用 typename(作为替代类)、来自 braced-init-list 的新规则用于自动推导、UTF-8 字符文字与一些用于对齐内存分配的扩展等,迁移到 C++ 17 对于 GCC 与开发者来说有众多优势。

原文来自:https://www.oschina.net/news/116763/gcc-11-cpp-17-default

本文地址:https://www.linuxprobe.com/gcc11-up-c17.html编辑:J+1,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/