{{Sidebar
|name = C語言標準
|style = width:auto;background:#f5faff;font-size:90%;line-height:1.6em;
|titlestyle = font-size:130%;padding-left:0.4em;padding-right:0.4em;background:#cee0f2; display:block;margin-bottom:6px;
|title = C語言標準
|headingstyle = padding:0.1em 0.25em 0.15em;{}
|heading1 = K&R C • ANSI C • C99 • C11 • C18 • C23
|navbar = none
}}
C23 是 ISO/IEC 9899:2024 的非正式名稱,
同時也是 C語言 繼 C18 標準(ISO/IEC 9899:2018)後的又一次更新。
這項計畫在2016年時被非正式的稱為 C2x ,並預計在2024年發布。
最新公開的 C23 草案在2023年4月1日發布。
第一次C2X草案的 WG14 會議是在 2019年10月舉行 ,
由於新冠疫情,
這些會議在2020年一度改為線上遠端的形式。
這些會議在2024年仍在持續著。
特色
到草案階段, C23 有以下特色:
新的語言特色
- 加入特性,以雙重方括號 表示,用以標記一些資訊供編譯器識別
新的形別與關鍵字
- 空指標:加入 nullptr_t 型態以代表空指標,並加入 nullptr 常數
- 整數:加入 _BitInt(N) unsigned _BitInt(N) 以支援64位元以上的大整數
- 10進位小數:加入 _Decimal32, _Decimal64,_Decimal128 關鍵字,用來表示10進位小數
- 加入 char8_t 表示 UTF8 型態字串
- 將一些 C11 存在的關鍵字改為小寫並去掉前置底線,如 _Bool 改為 bool,以前的寫法主要是為了避免與舊的程式碼發生衝突。
- 加入 true 和 false 關鍵字
新的巨集
- 加入 #elifdef 和 #elifndef 兩個新巨集,這兩個其實和過去的 #elif defined 以及 #elif !defined 等價
新的函示庫
編譯器支援
- GCC 9
- Clang 9.0
引用
评论 (0)