GCC 11將默認前端語言為C++ 17,C++ 14 被替換
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 與開發者來說有眾多優勢。