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,但目前要進行預設的轉換還為時過早。
26 日,GCC 11 原始碼中已經將 C++ 17 更改為預設前端語言。C++ 17 有許多新的特性,包括:刪除 trigraphs、在模板引數中允許使用 typename(作為替代類)、來自 braced-init-list 的新規則用於自動推導、UTF-8 字元文字與一些用於對齊記憶體分配的擴充套件等,遷移到 C++ 17 對於 GCC 與開發者來說有眾多優勢。
[admin
]