Linux学习小标兵,专注Linux资讯分享,技术文章分享
分类: LINUX
2020-07-06 23:16:38
导读 | 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 与开发者来说有众多优势。