名前空間
変種
操作

Cコンパイラのサポート

From cppreference.com
< c

目次

[編集] C23の機能

このリストは、C23/2x標準のドラフトが進化するにつれて変更される可能性があることに注意してください。

[編集] C23コア言語機能

C23機能

 
提案文書

 
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 10進浮動小数点型 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*
2進整数定数 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 Standard Annex 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機能
 

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

[編集] C23ライブラリ機能

[編集] C99の機能

[編集] C99のコア言語機能

C99の機能

 
提案文書

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (旧 PGI)*
Nvidia nvcc
Cray
識別子における汎用文字名 3.1 はい はい
増加した翻訳制限 N590 0.9 N/A
// コメント N644 2.7 はい はい
restrictポインタ N448 2.95 はい 部分的*
拡張された算術型 N815
N601
N620
N638
N657
N694
N809
はい 部分的 多分
フレキシブル配列メンバ 3.0 はい はい
可変長配列 (VLA) 型 N683 0.9 はい
可変修飾 (VM) 型 N2778 N/A はい
指示付き初期化子 N494 3.0 はい はい
非定数初期化子 1.21 N/A
冪等なcvr修飾子 N505 3.0 N/A
enumerator-listの末尾カンマ 0.9 はい はい
16進浮動小数点定数 N308 2.8 はい はい
複合リテラル N716 3.1 はい はい
浮動小数点環境 部分的 部分的
符号付き整数型の除算における切り捨ての要求 N617 0.9 N/A
main()関数における暗黙的なreturn 0; はい はい はい
宣言と文の混在 N740 3.0 はい はい
forループにおけるinit-statement はい はい はい
inline関数 N741 4.3 はい はい
定義済み変数__func__ N611 2.95 はい はい
関数宣言内の[]におけるcvr修飾子とstatic 3.1 はい
可変引数マクロ N707 2.95 はい はい
_Pragmaプリプロセッサ演算子 N634 3.0 はい 部分的*
浮動小数点評価のための標準プラグマ N631
N696
いいえ いいえ
 

C99の機能
 

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


[編集] 関連項目

コンパイラサポートについてのC++ドキュメント
English 日本語 中文(简体) 中文(繁體)