命名空間
變體
動作

C 編譯器支援

出自 cppreference.com
< c

目錄

[編輯] C23 特性

請注意,隨著 C23/2x 標準草案的演進,此列表可能會有所變動。

[編輯] C23 核心語言特性

C23 特性

 
提案論文 (Papers)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (原 PGI)*
Nvidia nvcc
Cray
無訊息的 static_assert N2265 9 9 6.5 2021.1.2 (基於 clang)
[[nodiscard]] N2267 10 9 6.4 2021.1.2 (基於 clang)
[[maybe_unused]] N2270 10 9 6.4 2021.1.2 (基於 clang)
[[deprecated]] N2334 10 9 6.4 2021.1.2 (基於 clang)
屬性 N2335
N2554
10 9 6.4 2021.1.2 (基於 clang)
IEEE 754 十進位浮點型別 N2341 4.2 (部分)*
12
13.0 (部分)*
[[fallthrough]] N2408 10 9 6.4 2021.1.2 (基於 clang)
u8 字元常數 N2418 10 15 6.5 2022.2
移除無原型的函式定義 N2432 10 15 2022.2
帶訊息的 [[nodiscard]] N2448 11 10 6.4 2021.1.2 (基於 clang)
函式定義中的未命名參數 N2480 11 11 6.4 2021.1.2 (基於 clang)
宣告與區塊結尾前的標籤 N2508 11 16 部分* 6.5 17.0*
二進位整數常數 N2549 4.3*
11
2.9*
9
19.0 (2015)** 6.5 11.0*
前置處理器條件中的 __has_c_attribute N2553 11 9 6.5 2021.1.2 (基於 clang)
允許重複屬性 N2557 11 13 6.5 2021.4 (基於 clang)
IEEE 754 交換與擴充型別 N2601 7 (部分)*
14
6 (部分)* 部分*
數字分隔符 N2626 12 13 19.0 (2015)** 6.5 18.0*
#elifdef#elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
u8 字串實字的型別變更 N2653 13
用於標籤的 [[maybe_unused]] N2662 11 16 6.5 2022.2
#warning N2686 6.5
位元精確整數型別 (_BitInt) N2763 14 (部分)* 15 6.5 2022.2
[[noreturn]] N2764 13 15 6.5 2022.2
位元精確整數常數的字尾 N2775 14 15 2022.2
前置處理器條件中的 __has_include N2799 5 19.11* 6.5 18.0
使用 Unicode 標準附件 31 的識別碼語法 N2836 13 15 6.5 2022.2
移除無原型的函式宣告 N2841 13 15 2022.2
空初始設定式 N2900 部分*
13
部分* 部分* 部分* 部分*
typeoftypeof_unqual N2927
N2930
部分*
13
部分*
16
19.39* 部分* 部分* 部分* 部分*
關鍵字的新拼寫 N2934 13 16 6.5
預定義的 truefalse N2935 13 15 2022.2
[[unsequenced]][[reproducible]] N2956 15
放寬可變參數列表的要求 N2975 13 16 6.5 2023.1
物件定義中的型別推導 N3007 13 18
#embed N3017 15 19
constexpr 物件 N3018 13 19
改進的普通列舉 N3029 13 20*
具有固定底層型別的列舉 N3030 13 20*
__VA_OPT__ N3033 8
13
12 19.39* 6.5
複合實字的儲存類別指定符 N3038 13
nullptr N3042 13 16
 

C23 特性
 

提案論文 (Papers)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (原 PGI)*
Nvidia nvcc
Cray

[編輯] C23 函式庫特性

[編輯] C99 特性

[編輯] C99 核心語言特性

C99 特性

 
提案論文 (Papers)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (原 PGI)*
Nvidia nvcc
Cray
識別碼中的通用字元名稱 (Universal-character-names) 3.1
增加的翻譯限制 N590 0.9 不適用 (N/A)
// 註解 N644 2.7
restrict 指標 N448 2.95 部分*
增強的算術類型 N815
N601
N620
N638
N657
N694
N809
部分 可能
彈性陣列成員 (Flexible array members) 3.0
變長陣列 (VLA) 類型 N683 0.9
可變修飾 (VM) 類型 N2778 不適用 (N/A)
指派初始化器 (Designated initializers) N494 3.0
非常數初始化式 1.21 不適用 (N/A)
等冪 cvr-限定符 N505 3.0 不適用 (N/A)
枚舉列表中的尾隨逗號 0.9
十六進位浮點常數 N308 2.8
複合字面量 (Compound literals) N716 3.1
浮點環境 部分 部分
有號整數類型除法要求截斷 N617 0.9 不適用 (N/A)
main() 函式中的隱式 return 0;
宣告與語句混合排序 N740 3.0
for 迴圈中的 初始化語句
inline 函式 N741 4.3
預定義變數 __func__ N611 2.95
函式宣告中 [] 內的 Cvr-限定符與 static 3.1
可變參數巨集 (Variadic macros) N707 2.95
_Pragma 前處理器運算子 N634 3.0 部分*
浮點求值標準 pragma N631
N696
 

C99 特性
 

提案論文 (Papers)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (原 PGI)*
Nvidia nvcc
Cray


[編輯] 參見

C++ 文件關於 編譯器支援
English Deutsch 日本語 中文(简体) 中文(繁體)