C++29のコンパイラサポート
cppreference.netより
* - 星印 * が付いたセルにマウスを重ねると追加のポップアップノートが表示されます。
DRnn - "DR" の後の番号 nn は、欠陥報告が適用される対象の C++ リビジョンを示します。例: DR20 → → C++20。
C++29 コア言語機能
| C++29 機能 |
論文 |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (旧 PGI)* |
Nvidia nvcc |
Cray |
|
|---|---|---|---|---|---|---|---|---|---|---|---|
#embed オフセットパラメータ (FTM)*
|
P3540R3 | ||||||||||
| 仮想関数の契約 (FTM )*P3097R3テンプレートのパックインデックス | ( | ||||||||||
| FTM) *P3670R4基底クラスの指示初期化子 ( | FTM | ||||||||||
| )* P2287R6例外指定がスローするデアロケーション関数は不良形式 P3424R2複合要件における条件付き noexcept 指定子 | ( | ||||||||||
| FTM | ) | ||||||||||
| *P3822R2 後置インクリメントおよびデクリメント演算子関数のデフォルト化 P3668R4デフォルト化された代入演算子関数への制限の追加 P2953R5 | DR26: consteval のみの値 | ||||||||||
| ( | FTM | ||||||||||
| ) | * | ||||||||||
| P4101R1 DR23: 名前付きユニバーサル文字エスケープにおける figment と省略の許可P3733R1DR20: コルーチンプロミス戻り関数の相互排他性の除去 ( | FTM | ||||||||||
| )* | P3950R1 | ||||||||||
| DR: 新しい Unicode 推奨事項に従った識別子の調整 P3658R1 DR: 明示的ラムダキャプチャ は字句順に宣言および初期化される P3847R1 | 3.1 | ||||||||||
| DR: テンプレートの C 言語リンケージを許可 | P2243R0 | ||||||||||
| DR: 浮動小数点オーバーフローの動作の明確化 P3899R3DR: 非決定的ポインタの由来 | P2434R5 | DR: アトミックおよび揮発性アクセスのためのポインタ有効期間終了 zap の解決 | |||||||||
| P2414R12 | DR: 無効ポインタのロードおよびストア操作の定義 | ||||||||||
| P3347R6 | C++29 機能 | ||||||||||
| 論文 | GCC | ||||||||||
| Clang | MSVC | ||||||||||
| Apple Clang | EDG eccp | ||||||||||
| Intel C++ |
Nvidia HPC C++ (旧 PGI)* |
Nvidia nvcc |
Cray |
C++29 ライブラリ機能 |
C++29 機能 |
論文 |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
マップコンテナのより良い検索関数
| ( |
FTM |
) |
* |
P3091R6 |
ポインタタグ付け |
|
|---|---|---|---|---|---|---|
| ( FTM)*P3125R6 | スレッド属性 | |||||
| ( FTM)*P2019R9 | ハザードポインタバッチ | |||||
| ( FTM)*P3428R4 | ビット順列 | |||||
| ( FTM)* ( | FTM | |||||
| ) *P3104R6P3772R2std::shl と std::shr (FTM | ) * |
|||||
| (FTM) *P3793R2std::mdspan のコピーとフィル操作 (FTM)* | P3242R4 | |||||
| std::simd::iota ( FTM)*P3319R6 | std::expected::has_error() | |||||
| ( FTM)*P3798R1 | view_interface::at() | |||||
| ( FTM)*P3052R2 | std::formatter | |||||
| std::error_code P3395R6std::to_chars におけるデフォルト浮動小数点表現の修正 ( | FTM | |||||
| )<*> | P3505R4 | |||||
| std::intptr_t と std::uintptr_t を必須にP3248R5入出力ストリームにおける符号付き文字型の非推奨化 | P3154R3 | |||||
| DR26: std::constant_wrapper における文字列リテラルサポートの取り消し (FTM | ) | |||||
| * | P4206R0 | |||||
| 17 C++29 機能 論文 GCC libstdc++Clang libc++MSVC STL | Apple Clang* | |||||
| C++29 機能 |
論文 |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |