Namespaces
Variants

Compiler support for C++23

From cppreference.net

* - 星印が付いたセルにマウスをホバー * すると、追加のポップアップ注釈が表示されます。
DR nn - 「DR」に続く数字 nn は、欠陥報告書が適用される対象C++リビジョンを示します(例:DR20 → C++20)。

C++23 コア言語機能

翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - HTMLタグ、属性、` `、`
`、``タグ内のテキストは翻訳せず保持
- C++固有の用語(`if consteval`、`FTM`、`__cpp_if_consteval`など)は翻訳せず保持
- 数値、バージョン番号、リンクテキストはそのまま保持
変更点: - `and` → `および` - `Feature-testing macro:` → `機能テストマクロ:` - HTMLタグ、属性、 タグ内のテキストは翻訳せず保持 - C++固有の用語(auto(x), auto{x}, __cpp_auto_cast, P0849R8, FTM)は翻訳せず保持 変更点: - `title`属性内の「Feature-testing macro」を「機能テストマクロ」に翻訳 - C++コード部分(` `内)は翻訳せず保持 - HTMLタグ、属性、C++用語はすべて保持 - 数値、バージョン情報、リンクテキストは変更なし 翻訳内容: - "Attribute" → "属性" - HTMLタグ、属性、 タグ内のテキスト、C++固有の用語("assume")は翻訳せず、元のフォーマットを保持 - 数値やリンクテキストはそのまま維持 翻訳内容: - `FTM` → `機能テストマクロ` - `Feature-testing macro` → `機能テストマクロ` - C++コード部分(`static operator []`)は翻訳せず保持 - HTMLタグ、属性、数値、バージョン情報はすべて保持 - タイトル属性内の説明文も適切に翻訳
C++23 機能

提案文書

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
リテラルサフィックス for (signed) size_t ( FTM ) * P0330R8 11 13 19.43* 13.1.6* 6.5 2022.2 23.9
() lambda に対してよりオプショナルにする P1102R2 11 13 19.44* 13.1.6* 6.3 2022.2 22.5
if consteval ( FTM ) * P1938R3 12 14 19.44* 14.0.0* 6.3 2022.2 24.1
ガベージコレクションサポートの削除 P2186R2 12 N/A 19.30* N/A N/A
static_assert および constexpr if における縮小変換 P1401R5 9 13 (partial)*
14
14.0.0* 2022.2 20.7
行継続前の空白文字のトリミング P2223R2 はい はい はい 6.7 2022.2 はい
宣言順序レイアウトを強制 P1847R4 はい はい はい はい 2022.2 はい
混合ワイド文字列リテラルの連結の削除 concatenation P2201R1 Yes Yes Yes Yes Yes Yes Yes
明示的オブジェクトメンバー関数 ( this の推論)  ( FTM ) * P0847R7 14 18
19*
19.32*
(部分的な対応)*
19.43*
6.3 22.5
auto(x) および auto{x} ( FTM ) * P0849R8 12 15 14.0.3* 6.4 2022.2 23.3
#elifdef および #elifndef P2334R1 12 13 19.40* 13.1.6* 6.5 2022.2 23.9
constexpr関数内の非リテラル変数(およびラベルとgoto文) ( constexpr 関数)  ( FTM ) * P2242R3 12 15 19.43* 14.0.3* 6.3 2022.2 22.5
一貫した文字リテラルエンコーディング P2316R2 はい はい 19.30* はい はい 2022.2 はい
文字セットとエンコーディング P2314R4 10 はい はい はい 2022.2 はい
init-statement( for ループ の)を拡張して alias-declaration を許可 P2360R0 12 14 14.0.0* 2022.2
多次元 添字演算子 ( FTM ) * P2128R6 12 15 19.42* 14.0.3* 2022.2
ラムダ式 の属性 P2173R1 9 13 19.44* 13.1.6* 6.6 2022.2 22.5
#warning P2437R1 はい* はい 15.0.0* 6.5 2023.2 はい
エンコード不可能なワイド文字リテラルとマルチキャラクタワイド文字リテラルの削除 P2362R3 13 14 15.0.0* 6.7 2023.2
複合文の末尾におけるラベル P2324R2 13 16 16.0.0* 6.5 2023.2 23.9
区切りエスケープシーケンス P2290R3 13 15 15.0.0* 6.7 2023.2
名前付きユニバーサル文字エスケープ ( FTM ) * P2071R2 13 15 15.0.0* 6.7 2023.2
一部の constexpr 制限の緩和 ( FTM ) * P2448R2 13 17 (partial)
19
2024.0 (partial)
簡略化された暗黙ムーブ  ( FTM ) * P2266R3 13 13 6.7 2022.2
static operator ( ) ( FTM ) * P1169R4 13 16 19.44* 16.0.0* 6.7 2023.2
オプションの 拡張浮動小数点型 の要件 P1467R9 13 N/A 6.4
継承されたコンストラクタからのクラステンプレート引数推論 P2582R1 14
属性 [[ assume ]] P1774R8 13 19
ポータブルなソースファイルエンコーディングとしての UTF-8サポート P2295R6 13* 15* 19.0 (Update 2)* * 15.0.0* 2023.2
static operator [ ] ( 機能テストマクロ ) * P2589R1 13 16 19.44* 16.0.0* 6.7 2023.2
constexpr関数内での static constexpr 変数の許可  ( FTM ) * P2647R1 13 16 16.0.0* 2023.2
範囲ベースforループ初期化子における一時オブジェクトの寿命延長  ( FTM ) * P2644R1
P2718R0
CWG2659
15 19
宣言とその所在 P1787R6
DR11: lambda の後置戻り値型のスコープ変更 P2036R3
P2579R0
17 2023.2
DR20: 意味のあるエクスポート P2615R1 15 17 (partial)
DR20: consteval は上位に伝播する必要がある ( FTM ) * P2564R3 14 17 16.0.0* 6.7 2024.0
DR98: Unicode標準附属書31を使用したC++識別子構文 P1949R7 12 14 14.0.0* 6.4 2022.2
DR11: 重複属性を許可 attributes P2156R1 11 13 13.1.6* 6.5 23.9
DR20: 機能テストマクロの値の調整 __cpp_concepts P2493R0 12 19.32* 6.4 23.3
DR98: 既存の実装に合わせて wchar_t の要件を緩和 P2460R2 はい はい はい 15.0.0* 該当なし 2023.2
DR11: 定数式における未知のポインタと参照の使用 P2280R4 14 20 *
DR20: 求めている等価演算子 P2468R2 13 16 16.0.0* 2023.2
DR20: char8_t 互換性と移植性の修正  ( FTM ) * P2513R4 13 16 19.34* 16.0.0* 2023.2
DR98/11: 診断ディレクティブの報告方法を明確化し、 診断ディレクティブ の報告を明確化し、テンプレートコンテキストにおける非値依存式の static_assert を許可 CWG2518 13 17 16.0*
(部分的)*
19.40*


C++23 機能


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

C++23 ライブラリ機能

**注記**: このHTMLフラグメントには翻訳すべきテキストがほとんど含まれていません。以下の要素のみが翻訳対象となります: - `title`属性内のテキスト(ただしC++関連の用語は翻訳せず) - 括弧内の`FTM`(Feature Testing Macro)はC++用語のため翻訳せず 翻訳すべき通常のテキストコンテンツが存在しないため、元のHTML構造をそのまま保持しています。 翻訳内容: - "Feature-testing macro:" → "機能テストマクロ:" - その他のC++固有の用語(`std::is_scoped_enum`、`FTM`、`P1048R1`など)は翻訳せず保持 - HTMLタグ、属性、コード内のテキストは完全に保持 - 数値、バージョン情報、リンクは変更なし 翻訳内容: - "FTM" → "機能テストマクロ" (Feature-testing macro) - タイトル属性内の "Feature-testing macro" → "機能テストマクロ" - C++固有の用語(std::basic_string::contains()、std::basic_string_view::contains()、__cpp_lib_string_contains)は翻訳せず保持 - HTMLタグ、属性、 タグ内のコードは完全に保持 - 数値、バージョン情報、リンクテキストは変更なし 翻訳内容: - "Feature-testing macro" → "機能テストマクロ" - HTMLタグ、属性、 タグ内の`std::to_underlying`、FTM、P1682R3、数値などのC++固有の用語は翻訳せずに保持 - 元の書式と構造を完全に維持 **注記**: このHTMLフラグメントには翻訳すべきテキストがほとんど含まれていません。以下の要素のみが翻訳対象となります: - `title`属性内のテキスト(ただしC++用語は翻訳しない) - マクロ名や関数名以外の説明テキスト 現在の内容では、C++の関数名(`std::out_ptr()`, `std::inout_ptr()`)、マクロ名(`__cpp_lib_out_ptr`)、文書番号(`P1132R8`)、バージョン番号などはすべて翻訳対象外のため、元のまま保持されています。 翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - `no feature-test macro` → `機能テストマクロなし` 注意事項: - HTMLタグ、属性は一切翻訳せず保持 - ` `, `
`, ``タグ内のテキストは翻訳対象外(該当箇所なし)
- C++固有の用語(`constexpr`, `type_info::operator==()`, `FTM`, `__cpp_lib_constexpr_typeinfo`など)は翻訳せず保持
- 数値、バージョン情報、リンクテキストはそのまま保持
翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - その他のC++固有の用語(`std::invoke_r()`、`FTM`、`__cpp_lib_invoke_r`、`P2136R3`など)は翻訳せず保持 - HTMLタグ、属性、コード内のテキストは完全に保持 変更点: - `Feature-testing macro:` → `機能テストマクロ:` - その他のC++固有の用語(`std::byteswap()`、`FTM`、`__cpp_lib_byteswap`、バージョン番号など)は翻訳せず、HTMLタグと属性もそのまま保持しています 変更点: - "Printing" → "出力"(C++のストリーム出力操作を指すため) - HTMLタグ、属性、コードブロック内のC++コード(`volatile T*`)はそのまま保持 - バージョン番号、提案番号(P1147R1)は翻訳対象外 - タイトル属性内のテキストも翻訳対象外(HTML属性のため) 翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - その他のC++固有の用語(`basic_string::resize_and_overwrite()`、`FTM`、`__cpp_lib_string_resize_and_overwrite`など)は翻訳せず保持 - HTMLタグ、属性、コード内のテキストは完全に保持 - 数値、バージョン情報、リンクテキストは変更なし **注記**: このHTMLフラグメントには翻訳対象となる自然言語テキストがほとんど含まれていません。既存のテキストは以下の通りです: - `std::move_only_function` (C++固有の用語 - 翻訳対象外) - `FTM` (Feature Test Macroの略語 - 翻訳対象外) - `P0288R9` (WG21文書番号 - 翻訳対象外) - 数値と記号 (12, 19.32*, * - 翻訳対象外) タイトル属性内のテキストも技術的な内容であり、C++仕様に基づいているため翻訳していません。 翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - HTMLタグ、属性、コード内のテキストは翻訳せず保持 - C++固有の用語(`expected`, `FTM`, `__cpp_lib_expected`など)は翻訳せず保持 - 数値、バージョン情報、リンクテキストはそのまま保持 変更点: - `Feature-testing macro:` → `機能テストマクロ:` - HTMLタグ、属性、コード内のテキストは翻訳せず保持 - C++固有の用語(`std::unreachable()`、`__cpp_lib_unreachable`、`FTM`、`P0627R6`など)は翻訳せず保持 - 数値、バージョン情報はそのまま保持 変更点: - `Feature-testing macro:` を `機能テストマクロ:` に翻訳 - HTMLタグ、属性、C++キーワード(`constexpr`、`std::unique_ptr`)、コード関連のテキストはそのまま保持 - 数値、バージョン情報、リンクテキストは変更なし **注記**: 指定された要件に基づき、HTMLタグ、属性、` `、`
`、``タグ内のテキスト、およびC++固有の用語(`views::join_with`、`FTM`、`__cpp_lib_ranges_join_with`、`P2441R2`など)は翻訳せず、元のフォーマットを保持しています。翻訳対象となるテキストが存在しないため、出力は入力と同一となります。
翻訳のポイント: - HTMLタグ、属性、C++固有の用語(`views::as_const`、`FTM`、`P2278R4`など)は翻訳せず保持 - ` `内のコードは翻訳対象外 - 技術文書としての正確性と専門性を維持 - 「Rectifying constant iterators, sentinels, and ranges.」→「定数イテレータ、センチネル、および範囲の修正。」 - 「(partial)」→「(部分的な実装)」 **注記:** - HTMLタグ、属性、C++固有の用語(`views::cartesian_product`、`FTM`、`__cpp_lib_ranges_cartesian_product`など)は翻訳していません - 提案文書番号(P2374R4、P2540R1)はそのまま保持しています - バージョン番号(13、19.37*)は数値として翻訳対象外です - 元の書式と構造を完全に保持しています 翻訳内容: - "Ranges iterators as inputs to non-ranges algorithms" → "範囲イテレータを非範囲アルゴリズムへの入力として使用" - HTMLタグ、属性、コード内のテキストはそのまま保持 - FTM、P2408R5、バージョン番号などC++固有の用語は翻訳せず - タイトル属性内のテキストも保持 変更点: - `FTM` → `機能テストマクロ` - `Feature-testing macro:` → `機能テストマクロ:` - HTMLタグ、属性、コード内のテキスト(`constexpr`、`std::bitset`、`__cpp_lib_constexpr_bitset`など)は翻訳せず保持 - 数値、バージョン情報、リンクテキストはそのまま保持 - 書式設定と構造は完全に維持 **注記**: このHTMLフラグメントには翻訳対象となる自然言語テキストが含まれていません。すべての要素は以下のいずれかに該当します: - HTMLタグと属性(翻訳対象外) - ` `タグ内のテキスト(`&&` - 翻訳対象外) - ` `タグ内のC++関数名(`basic_string::substr()` - C++専門用語のため翻訳対象外) - バージョン番号、提案番号(`P2438R2`、`16`、`19.34*`、`15.0.0*` - 翻訳対象外) - 数値と記号(翻訳対象外) したがって、元のHTML構造と内容をそのまま保持しています。 翻訳内容: - `FTM` → `機能テストマクロ` - `Feature-testing macro:` → `機能テストマクロ:` - C++固有の用語(`views::as_rvalue`、`__cpp_lib_ranges_as_rvalue`)は翻訳せず保持 - HTMLタグ、属性、コード内のテキストは完全に保持 - バージョン番号、P2446R2などの識別子は翻訳せず保持 翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - その他のC++関連用語(`views::repeat`、`FTM`、`P2474R2`、バージョン番号など)は翻訳せず保持 - HTMLタグ、属性、コード部分は完全に保持 変更点: - `Feature-testing macro:` → `機能テストマクロ:` - その他のHTMLタグ、属性、コード内のテキスト(`views::enumerate`、`FTM`、`P2164R9`、数値など)は翻訳せず保持 変更点: - `title="Feature-testing macro:` → `title="機能テストマクロ:` - C++固有の用語(`std::is_implicit_lifetime`、`FTM`、`__cpp_lib_is_implicit_lifetime`、`P2674R1`)は翻訳せず保持 - HTMLタグ、属性、コード内のテキストは完全に保持 変更点: - 「Deprecating」を「の非推奨化」に翻訳 - C++固有の用語(`std::numeric_limits::has_denorm`)は翻訳せず保持 - HTMLタグ、属性、数値、バージョン情報はすべて保持 - リンクテキストとタイトル属性は翻訳せず保持 翻訳のポイント: - 「Poison Pills are Too Toxic」を「ポイズンピルは毒性が強すぎる」と翻訳 - HTMLタグ、属性、 内のコードは一切翻訳せず保持 - FTM(Feature-testing macro)などのC++専門用語は翻訳せず保持 - 数値、リンク、スタイル属性は完全に保持 - 全体的なフォーマットと構造を完全に維持
C++23 機能

提案文書

GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
スタックトレースライブラリ ( FTM ) * P0881R7
P2301R1
12 (部分対応)*
14*
19.34*
<stdatomic.h> ( FTM ) * P0943R6 12 15 19.31* 14.0.3*
std::is_scoped_enum ( FTM ) * P1048R1 11 12 19.30* 13.0.0*
std::basic_string::contains() , std::basic_string_view::contains() ( 機能テストマクロ ) * P1679R3 11 12 19.30* 13.0.0*
std::to_underlying ( FTM ) * P1682R3 11 13 19.30* 13.1.6*
time_point<>::clock の要件緩和 P2212R2 N/A N/A N/A N/A
サイズフィードバックの提供 in the Allocator interface  ( FTM ) * P0401R6 15 19.30* 14.0.3*
<spanstream> : std::span ベースのバッファを持つ文字列ストリーム  ( FTM ) * P0448R4 12 19.31*
std::out_ptr() , std::inout_ptr() ( FTM ) * P1132R8 14 19 19.30*
constexpr type_info::operator==() ( FTM ) * P1328R1 12 17 19.33* *
19.34*
15.0.0*
std::stack および std::queue のイテレータペアコンストラクタ ( FTM ) * P1425R4 12 14 19.31* 14.0.3*
コンテナ推論ガイドにおけるアロケータの非推定コンテキスト P1518R2 12 * 13 * 19.31* * 13.1.6* *
ranges::starts_with() および ranges::ends_with() ( FTM ) * P1659R3 17 (部分的な実装)*
18
19.31* 16.0.0*
std::basic_string および std::basic_string_view nullptr からの構築を禁止 P2166R1 12 13 19.30* 13.1.6*
std::invoke_r() ( FTM ) * P2136R3 12 17 19.31* 15.0.0*
Range コンストラクタ std::basic_string_view P1989R2 11 14 19.30* 14.0.3*
std::pair の転送 コンストラクタ のデフォルトテンプレート引数 P1951R1 14 14 19.30* 14.0.3*
ガベージコレクションと到達可能性ベースのリーク検出の削除 ( library support ) P2186R2 12 14 19.30* 14.0.3*
zip: views::zip , views::zip_transform , views::adjacent , および views::adjacent_transform ( FTM ) * P2321R2 13 15 (部分的な実装)* 19.33* (部分的な実装)* * *
19.37*
14.0.3*
連想コンテナの異種型削除オーバーロード  ( FTM ) * P2077R3 19.32*
std::byteswap() ( FTM ) * P1272R4 12 14 19.31* 14.0.3*
出力 volatile T * P1147R1 11.3 14 19.31* 14.0.3*
basic_string::resize_and_overwrite() ( FTM ) * P1072R10 12 14 19.31* 14.0.3*
std::optionalのモナド操作 std::optional ( FTM ) * P0798R8 12 14 19.32* 14.0.3*
std::move_only_function ( FTM ) * P0288R9 12 19.32*
std::exchange に条件付きnoexcept指定を追加 P2401R0 12 14 19.25* 14.0.3*
std::span および std::basic_string_view TriviallyCopyable であることを要求 P2251R1 はい はい はい はい
「Cヘッダー」のステータスの明確化 P2340R1 はい はい はい はい
<expected> ( FTM ) * P0323R12
P2549R1
12 16 19.33* 15.0.0*
<cmath> および <cstdlib> のconstexpr化 ( FTM ) * P0533R9 4.6 (部分的な実装)*
std::unreachable() ( FTM ) * P0627R6 12 15 19.32* 14.0.3*
非推奨化 std::aligned_storage および std::aligned_union P1413R3 13 16 19.33*
std::reference_constructs_from_temporary & std::reference_converts_from_temporary ( FTM ) * P2255R2 13 (部分的な実装)*
14
21 (部分的な実装)*
constexpr std::unique_ptr ( FTM ) * P2273R3 12 16 19.33* 15.0.0*
範囲からのコンテナと文字列の構築、 ranges::to() タグ付きコンストラクタ、挿入および代入メンバ関数を使用して ( FTM ) * ( FTM ) * P1206R7 14 (部分対応)*
15
17 19.34* 15.0.0*
ユーザー定義レンジアダプタのパイプサポート ( ranges::range_adaptor_closure , std::bind_back )  ( FTM ) * ( FTM ) * P2387R3 13 (部分的な実装)*
14
19 19.34*
ranges::iota() ranges::shift_left() および ranges::shift_right() ( FTM ) * ( FTM ) * P2440R1 13 (部分対応)* 19.34*
views::join_with ( FTM ) * P2441R2 13 19.34*
views::chunk および views::slide ( FTM ) * ( FTM ) * P2442R1 13 19.33*
views::chunk_by ( FTM ) * P2443R1 13 18 19.33* 16.0.0*
std::mdspan : 非所有多次元配列参照  ( FTM ) * P0009R18
P2599R2
P2604R0
P2613R1
P2763R1
17 (部分対応)*
18
19.39* 15.0.0*
<flat_map> ( FTM ) * P0429R9 15 20
<flat_set> ( FTM ) * P1222R4 15 21
ranges::find_last() ranges::find_last_if() および ranges::find_last_if_not() ( FTM ) * P1223R5 13 19 19.36*
フリースタンディングライブラリ: 容易 <utility> , <ranges> , および <iterator> P1642R11 13 * N/A
views::stride ( FTM ) * P1899R3 13 19.34*
std::tuple とタプルライクオブジェクト間の互換性  ( FTM ) * P2165R4 14 2.9 (部分的な実装)* 19.36* (部分的な実装) *
19.37*
部分的な実装*
定数イテレータ、センチネル、および範囲の修正。 views:: as_const ( FTM ) * P2278R4 13 19.35* (部分的な実装)*
19.36*
フォーマット 範囲  ( FTM ) * P2286R8 15 (部分的な実装)*
15.2
16 19.37* (部分的な実装)*
19.39* (部分的な実装)*
19.41* (部分的な実装)*
19.42*
15.0.0*
デフォルトコンテナの フォーマット を改善 ( FTM ) * P2585R1 15 16 (partial)*
17
19.42* 15.0.0*
フォーマット出力ライブラリ <print> ( FTM ) * P2093R14
P2539R4
14 17 (部分対応)*
18
19.37* 15.0.0* *
16.0.0*
フォーマット std::thread::id および std::stacktrace ( FTM ) * P2693R1 14 17 (部分対応)* 19.38* 15.0.0*
constexpr std::to_chars() および std::from_chars() の整数型オーバーロードに対する ( FTM ) * P2291R3 13 16 19.34* 15.0.0*
ranges::contains() および ranges::contains_subrange() ( FTM ) * P2302R4 13 18 (部分実装)*
19
19.34* 16.0.0* *
範囲フォールドアルゴリズム ( FTM ) * P2322R6 13 19.35*
views::cartesian_product ( FTM ) * P2374R4
P2540R1
13 19.37*
比較コンセプト( equality_comparable totally_ordered three_way_comparable )へのムーブ専用型サポートの追加  ( FTM ) * P2404R3 19.36*
範囲イテレータを非範囲アルゴリズムへの入力として使用  ( FTM ) * P2408R5 19.34*
constexpr std::bitset ( 機能テストマクロ ) * P2417R2 13 16 19.34* 15.0.0*
basic_string::substr() && P2438R2 16 19.34* 15.0.0*
views::as_rvalue ( 機能テストマクロ ) * P2446R2 13 16 19.34* 15.0.0*
標準ライブラリモジュール  ( FTM ) * P2465R3 15* 17 (partial)* 19.35*
(partial)*
19.36*
std::forward_like() ( FTM ) * P2445R1 14 16 19.34* 15.0.0*
std::fstream の排他モードサポート ( FTM ) * P2467R1 12 18 19.36* 16.0.0*
views::repeat ( FTM ) * P2474R2 13 17 19.36* 15.0.0*
ムーブ専用型を許可するためのレンジアダプタの緩和  ( FTM ) * P2494R2 14 17 19.34* 15.0.0*
std::basic_string_view 範囲 コンストラクタ は明示的であるべき P2499R0 12.2 16 19.34* 15.0.0*
std::generator : 範囲のための同期コルーチンジェネレータ  ( FTM ) * P2502R2
P2787R0
14 19.43*
std::apply に条件付きnoexcept指定を追加 P2517R1 10 18 19.34* 16.0.0*
明示的寿命管理 ( std::start_lifetime_as )  ( FTM ) * P2590R2
P2679R2
chrono型のローカライズされた書式設定におけるエンコーディング処理の明確化  ( FTM ) * P2419R2 15* 19.34* *
std::move_iterator は常に input_iterator であるべきではない ( FTM ) * P2520R0 12.3* 17* 19.34* * 15.0.0*
明示的オブジェクトパラメータの呼び出し演算子に対する 明示的オブジェクトパラメータ の推論ガイド更新 LWG3617 14 19.34*
static operator() の推論ガイド更新 static operator ( ) P1169R4 13 16 19.39* 15.0.0*
拡張浮動小数点型の 標準名とライブラリサポート P1467R9 13 19.37* *
std::expected のモナディック操作 ( FTM ) * P2505R5 13 17 19.36* 15.0.0*
views::enumerate ( FTM ) * P2164R9 13 19.37*
std::is_implicit_lifetime ( FTM ) * P2674R1 20
std::common_reference_t std::reference_wrapper は参照型であるべき  ( FTM ) * ( FTM ) * P2655R3 19.37*
ユーザーによる std::allocator_traits の特殊化を禁止 P2652R2 19 19.37*
std::numeric_limits::has_denorm の非推奨化 P2614R2 18 19.37* 16.0.0*
view s のマルチパラメータコンストラクタを explicit にする P2711R1 17 (partial)* 19.36* * 15.0.0*
DR20: Rangesをほんの少し緩和  ( FTM ) * P2609R3 15 20 19.37*
DR20: 適切な平坦化のためのスタッシングイテレータの保存 P2770R0 14 18 19.37*
DR17: std::visit() std::variantから派生したクラスに対する std::variant ( FTM ) * P2162R2 11.3 13 19.20* *
19.30*
13.1.6*
DR20: 条件付き借用範囲 P2017R1 11 16 19.30*
DR20: 入力レンジアダプタの修復 および std::counted_iterator P2259R1 12 19.30* (部分的実装)*
19.31*
DR20: views::join はすべての範囲のビューを結合すべき P2328R1 11.2 15 19.30* 14.0.3*
DR20: view default_initializable を要求しない ( FTM ) * P2325R3 11.3 16 19.30* 15.0.0*
DR20: レンジアダプタオブジェクトは引数を値でバインドする P2281R1 11 14 19.29 (16.10)*
(partial)*
19.31*
14.0.3*
DR20: constexpr std::optional および std::variant への適用 ( FTM ) * ( FTM ) * P2231R1 11.3 (部分的な実装)*
12
13 (部分的な実装)*
19
19.31* 13.1.6* (部分的な実装)
DR20: views::lazy_split および再設計された views::split P2210R2 12 16 19.31* 15.0.0*
DR20: 修正 ranges::istream_view P2432R1 12 16 19.31* 15.0.0*
DR20: view 所有権を持つ FTM ) * P2415R2 12 14 19.31* 14.0.3*
DR20: chronoフォーマッタのロケール処理の修正  ( FTM ) * P2372R3
P2418R2
13 19.31*
DR20: 整数クラス型のクリーンアップ P2393R1 19.32*
DR20: コンパイル時フォーマット文字列チェック; std::format() ファミリーのバイナリコードサイズ削減  ( FTM ) * P2216R3 13 14 (partial)*
15
19.32* 14.0.3*
DR20: 非constフォーマット可能型のサポートを std::format に追加 P2418R2 13 15 19.32* 14.0.3*
DR20: std::basic_format_string P2508R1 13 15 19.35* 14.0.3*
DR20: ポイズンピルは毒性が強すぎる  ( FTM ) * P2602R2 14 19 19.36*
DR20: std::format フィル文字の許可 P2572R1 14 17 19.37*
DR20: std::format の幅推定の改善 P2675R1 14 17 19.38*
DR20: std::barrier のフェーズ完了保証  ( FTM ) * P2588R3 19.28 (16.8)* *
19.36*


C++23 機能


提案文書
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*