Namespaces
Variants

C compiler support

From cppreference.net
< c

(注:指定されたテキストブロック内に翻訳対象となる可読テキストが存在しないため、HTML構造はそのまま保持されています)

目次

C23 機能

C23/2x標準草案の進展に伴い、このリストは変更される可能性があることに注意してください。

C23 コア言語機能

HTMLタグ、属性、 タグ内のテキスト、C++固有の用語は翻訳せず、元のフォーマットを保持しました。「Yes」のみを「はい」に翻訳しました。 翻訳内容: - "Yes" → "はい" - HTMLタグ、属性、 タグ内のテキスト、C++固有の用語(maybe_unused)は翻訳せず保持 - 数値、バージョン情報、リンクテキスト(N2270)はそのまま保持 - 書式設定と構造は完全に維持 翻訳内容: - "Yes" → "はい"(対応ありを示す) - HTMLタグ、属性、 タグ内のテキスト、C++固有の用語(deprecated)は翻訳せず保持 - 数値、バージョン情報、リンクテキストはそのまま保持 - 書式と構造は完全に維持 翻訳内容: - "Yes" → "はい"(対応状況を示す部分) - その他のテキスト(HTMLタグ、属性、コードブロック内、C++固有用語)は翻訳せず保持 - 数値、バージョン情報、技術用語はそのまま維持 - 書式と構造は完全に保持 翻訳内容: - "character constants" → "文字定数" - その他のHTMLタグ、属性、 タグ内の"u8"、数値、日付、N2418などの技術文書番号は翻訳せずに保持 - 書式設定と構造は完全に維持 翻訳内容: - `for labels` → `ラベル用` - HTMLタグ、属性、` `タグ内のテキスト、C++固有の用語(`maybe_unused`)は翻訳せず保持 - 書式と構造は完全に維持 **注記**: 指定された要件に基づき、HTMLタグ、属性、 タグ内のテキスト、C++固有の用語("noreturn")は翻訳せず、元のフォーマットを保持しています。翻訳対象となるテキストが存在しないため、出力は入力と同一となります。 変更点: - "Predefined" → "定義済み" - "and" → "および" - HTMLタグ、属性、 内のC++キーワード(true、false)は翻訳せず保持 - 数値、リンク、スタイル属性はすべて元のまま維持 **注記**: このHTMLフラグメントには翻訳対象となる自然言語テキストが含まれていません。`#embed`はC++プリプロセッサディレクティブ、`N3017`は標準化文書番号、数値はバージョン番号を示しており、これらは翻訳対象外です。HTMLタグ、属性、コード要素はすべて元のまま保持されています。 翻訳内容: - "objects" → "オブジェクト" - `constexpr`はC++のキーワードなので翻訳せず保持 - HTMLタグ、属性、` `タグ内のテキストは保持 - 数値、リンクテキスト(N3018)は保持 - 表のセル内容は保持 **注記**: このHTMLフラグメントには翻訳すべきテキストコンテンツがほとんど含まれていません。`__VA_OPT__`と`N3033`はC++関連の専門用語/識別子であり、`VS 2022 17.9`はバージョン情報であるため、いずれも翻訳対象外です。数値と記号のみが含まれており、これらは国際的に共通の表記です。 **注記:** - `nullptr` はC++のキーワードであるため、翻訳対象外としました - `N3042` は文書番号であるため、翻訳対象外としました - 数値(13, 16)は数値データであるため、翻訳対象外としました - HTMLタグ、属性、構造は完全に保持されています
C23機能

提案文書

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex 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 文字定数 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
可変引数パラメータリストの 要件緩和 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 コア言語機能

翻訳内容: - "Variable-length array" → "可変長配列" - "types" → "型" - "Yes" → "はい" - VLA(専門用語)はそのまま保持 - HTMLタグ、属性、数値、リンクテキストは変更なし - 書式設定は完全に保持 翻訳内容: - "functions" → "インライン関数" - "Yes" → "はい" - HTMLタグ、属性、 タグ内の"inline"、N741ドキュメント番号は翻訳せず保持 - 書式設定と構造は完全に維持
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 対応 部分的 *
拡張 arithmetic types 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 対応 対応
浮動小数点環境 partial partial
符号付き整数型の除算における切り捨ての要求 N617 0.9 N/A
main()関数における return 0 ; の暗黙的な返却 main() function はい はい はい
宣言と文の混合順序 N740 3.0 はい はい
init-statement in for ループ はい はい はい
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++ (ex PGI)*
Nvidia nvcc
Cray


関連項目

C++ ドキュメント コンパイラサポート