Namespaces
Variants

Compiler support for C23

From cppreference.net

C23 コア言語機能

変更点: - "Yes" を「対応」に翻訳 - HTMLタグ、属性、 タグ内のテキスト、C++固有の用語(nodiscard)は翻訳せず保持 - 数値、リンクテキスト、バージョン情報などはそのまま保持 変更点: - "Yes" を「対応」に翻訳 - HTMLタグ、属性、 タグ内のテキスト、C++固有の用語(deprecated)は翻訳せず保持 - 数値、リンク、書式設定はすべて元のまま維持 翻訳内容: - "Digit separators" → "桁区切り文字" - "Yes" → "はい" - HTMLタグ、属性、数値、コード関連のテキストはそのまま保持 - C++専門用語は翻訳せず保持 変更点: - "Type change of u8 string literals" を「u8文字列リテラルの型変更」に翻訳 - ` u8 ` タグ内のテキストは翻訳せず保持 - HTMLタグ、属性、数値、N2653などのコードはそのまま保持 - 表のセルの背景色やスタイルは変更なし 変更点: - `and` を `および` に翻訳 - HTMLタグ、属性、 タグ内のテキスト、C++固有の用語(unsequenced, reproducible)は翻訳せず保持 - 書式と構造は完全に維持 **注記**: このHTMLフラグメントには翻訳対象となる自然言語テキストが含まれていません。`#embed`はC++プリプロセッサディレクティブ、`N3017`は標準化文書番号、数値はバージョン番号を示しており、これらは翻訳対象外です。空のセルにはテキストが存在しないため、翻訳作業は不要です。 翻訳内容: - "objects" → "オブジェクト"(C++用語としてそのまま翻訳) - HTMLタグ、属性、 タグ内の"constexpr"、リンクテキスト"N3018"は翻訳せず保持 - 数値と書式設定は完全に保持 **注記**: このHTMLフラグメントには翻訳すべきテキストコンテンツが含まれていません。`__VA_OPT__`はC++のマクロであり、` `タグ内にあるため翻訳対象外です。`N3033`は標準文書番号、数値はバージョン番号であり、これらも翻訳対象外です。HTMLタグ、属性、および構造はすべて元のまま保持されています。 **注記**: このHTMLフラグメントには翻訳対象となる自然言語テキストが含まれていません。`nullptr`はC++のキーワード、`N3042`は文書番号、数字はバージョン番号を示しており、これらは翻訳対象外です。HTMLタグ、属性、コード内のテキストはすべて指定通りに保持されています。
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 based)
[[ nodiscard ]] N2267 10 9 対応 6.4 2021.1.2 (clang based)
[[ maybe_unused ]] N2270 10 9 はい 6.4 2021.1.2 (clang based)
[[ deprecated ]] N2334 10 9 対応 6.4 2021.1.2 (clang based)
属性 N2335
N2554
10 9 対応 6.4 2021.1.2 (clang based)
IEEE 754 10進浮動小数点型 N2341 4.2 (一部)*
12
13.0 (一部)*
[[ fallthrough ]] N2408 10 9 対応 6.4 2021.1.2 (clang based)
u8 u8文字定数 N2418 10 15 6.5 2022.2
プロトタイプ宣言のない 関数定義 の削除 N2432 10 15 2022.2
[[ nodiscard ]] メッセージ付き N2448 11 10 対応 6.4 2021.1.2 (clang based)
関数定義における無名パラメータ N2480 11 11 対応 6.4 2021.1.2 (clang based)
ラベル 宣言前およびブロック終端での使用 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 based)
重複属性の許可 N2557 11 13 はい 6.5 2021.4 (clang-based
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
部分的* 部分的* 部分的* 部分的*
typeof および typeof_unqual N2927
N2930
部分的*
13
部分的*
16
19.39* 部分的* 部分的* 部分的* 部分的*
キーワードの新しいスペル N2934 13 16 6.5
定義済み true および false N2935 13 15 2022.2
[[ unsequenced ]] および [[ reproducible ]] N2956 15
可変引数パラメータリストの要件緩和 variadic parameter list 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ライブラリ機能