C23 (C語言標準)

C23 是 ISO/IEC 9899:2024 的非正式名稱, 同時也是 C語言C18 標準(ISO/IEC 9899:2018)[1]後的又一次更新。 這項計畫在2016年時被非正式的稱為 C2x [2],並預計在2024年發布。 最新公開的 C23 草案在2023年4月1日發布。 第一次C2X草案的 WG14 會議是在 2019年10月舉行 [3], 由於新冠疫情, 這些會議在2020年一度改為線上遠端的形式。 這些會議在2024年仍在持續著。

特色

到草案階段, C23 有以下特色[4]

新的語言特色

  • 加入特性,以雙重方括號 [[ ]] 表示,用以標記一些資訊供編譯器識別

新的形別與關鍵字

  • 空指標:加入 nullptr_t 型態以代表空指標,並加入 nullptr 常數
  • 整數:加入 _BitInt(N) unsigned _BitInt(N) 以支援64位元以上的大整數
  • 10進位小數:加入 _Decimal32, _Decimal64,_Decimal128 關鍵字,用來表示10進位小數
  • 加入 char8_t 表示 UTF8 型態字串
  • 將一些 C11 存在的關鍵字改為小寫並去掉前置底線,如 _Bool 改為 bool,以前的寫法主要是為了避免與舊的程式碼發生衝突。
  • 加入 truefalse 關鍵字

新的巨集

  • 加入 #elifdef#elifndef 兩個新巨集,這兩個其實和過去的 #elif defined 以及 #elif !defined 等價

編譯器支援

引用

  1. 14:00-17:00. . ISO. [2024-03-30] (英语).
  2. . www.open-std.org. [2024-03-30].
  3. . www.open-std.org. [2024-03-30].
  4. 14:00-17:00. . ISO. [2024-03-30] (英语).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.