特徴
C++20 は、C++14やC++17よりも多くの新しい主要な機能を追加しています。[ 8 ] C++20 に採用された変更には次のものがあります。[ 9 ]
図書館
- 範囲(ワンレンジ提案)[ 39 ]
std::make_sharedstd::allocate_shared配列の場合[ 40 ]- アトミックスマートポインタ(
std::atomic<shared_ptr<T>>などstd::atomic<weak_ptr<T>>)[ 41 ] std::to_addressポインタを生ポインタに変換する[ 42 ]- [ 43 ]へのカレンダーとタイムゾーンの追加
<chrono> std::span連続配列のビューを提供する(類似しているstd::string_viewが、span参照配列を変異させることができる)[ 44 ]std::eraseまたstd::erase_if、ほとんどの標準コンテナの要素消去を簡素化します[ 45 ]<version>ヘッダー[ 46 ]、機能テストマクロ[ 47 ]を提供std::bit_cast<>オブジェクト表現の型キャストについては、より簡潔でmemcpy()コンパイラ内部をより活用できる[ 48 ]。- さまざまな
constexprライブラリビット[ 49 ] - デフォルト初期化によるスマートポインタの作成[ 50 ]
contains()-連想コンテナのための方法[ 51 ]- 文字列の接頭辞と接尾辞のチェック[ 52 ]
- ビット演算、例えば先頭/末尾のゼロ/イチのカウント[ 53 ]やlog2演算[ 54 ] [ 55 ] [ 56 ]など。
std::bind_front[ 57 ]std::atomic::wait、、std::atomic::notify_oneおよびstd::atomic::notify_allが追加され、標準ライブラリにfutexのような機能が付与されました[ 58 ]
新規および変更されたキーワード
8 つの新しいキーワードが追加されました (新しい「宇宙船演算子」も追加operator<=>)。例えばconcept、、、constinit[ 38 ]、(キーワードの再導入も含む)、および( UTF-8サポート用)。8 つの新しいキーワードのうち、この 3 つ、、、は新しいコルーチンサポート専用です[ 59 ] (さらに、 以前から存在していた 6 つのキーワードが変更されたり、新しい意味が追加されたりしています) 。C++20 以降、式を取ることができます。[ 60 ]キーワードのほとんどの使用は非推奨になりました。[ 61 ]constevalrequiresexportchar8_tco_awaitco_returnco_yieldexplicitvolatile
キーワードに加えて、新しいものやなど、特別な意味を持つ識別子(特定の文脈では実質的にキーワード)があります。importmodule
C++20 の新しい属性 : 、、および[ 62 ][[likely]][[unlikely]][[no_unique_address]]
削除され、非推奨となりました
削除された機能: [ 63 ]
- C言語由来のヘッダーファイル
<ccomplex>、、、およびは、C <ciso646>++では不要なため削除されました。(C言語との互換性を保つため、対応するヘッダーファイルは残されています。)<cstdalign><cstdbool><ctgmath><*.h> throw条項の使用は削除されました。- 以前非推奨となっていたライブラリ機能の一部が削除されました。これには、、、、、、および
std::uncaught_exceptionが含まれます。 std::raw_storage_iteratorstd::is_literal_typestd::is_literal_type_vstd::result_ofstd::result_of_t
非推奨の機能:
コンパイラのサポート
全面的なサポート
以下のコンパイラは完全なサポートを提供します: [ 77 ]
MicrosoftのコンパイラはWindowsだけでなく、Linux、Android、iOSもサポートしています。ただし、Linux開発には「Visual C++ for Linux Development」拡張機能が必要です。[ 81 ]
部分的
- Clangには部分的なC++20サポートがあり、オプション
-std=c++20(バージョン10以降)または-std=c++2a(バージョン9以前)で有効にできます。[ 82 ] - EDGはバージョン5.0でC++20機能の実装を開始し、バージョン6.1ではC++20のコア言語機能のほとんどをサポートしています。[ 83 ]
- GCC は2017 年にバージョン 8 でオプション を通じて部分的な実験的 C++20 サポートを追加しました[ 84 ]
-std=c++2a。Clang と同様に、GCC は-std=c++20バージョン 10 でこのオプションを に置き換えました。また、実験的 C++20 サポートに加えて GNU 拡張機能を有効にするオプションも備えています[ 85 ]-std=gnu++20。
歴史
2017年7月(トロント)にC++20ワーキングドラフトに適用された変更には以下が含まれます。[ 86 ]
- 概念(標準に採用されたのは簡略版であり、「Concepts Lite」とも呼ばれる[ 87 ])
- 指定初期化子
[=, this]ラムダキャプチャとして- ラムダ式のテンプレートパラメータリスト
std::make_sharedstd::allocate_shared配列の場合
2017年11月の秋季会議(アルバカーキ)でC++20ワーキングドラフトに適用された変更には、次のものが含まれます。[ 88 ] [ 89 ]
- 「宇宙船オペレーター」を使用した3者比較、
operator <=> - 範囲ベースの
forステートメント内での追加変数の初期化 - 評価されないコンテキストにおけるラムダ式
- デフォルト構築可能かつ割り当て可能なステートレスラムダ
- ラムダ初期化キャプチャでパック展開を許可する
- テンプレートパラメータとしての文字列リテラル
- アトミックスマートポインタ(など
std::atomic<shared_ptr<T>>)std::atomic<weak_ptr<T>> std::to_addressポインタを生ポインタに変換する
2018年3月(ジャクソンビル)にC++20ワーキングドラフトに適用された変更には以下が含まれます:[ 90 ]
typename特定の状況下での必要性を排除する- 新しい標準属性、そして
[[no_unique_address]][[likely]][[unlikely]] - カレンダーとタイムゾーンの追加
<chrono> std::span連続配列へのビューを提供する(に類似しているstd::string_viewが、span参照配列を変更できる)<version>ヘッダ
2018年6月の夏季会議(ラッパースヴィル)でC++20ワーキングドラフトに適用された変更には以下が含まれます。[ 91 ]
契約(後に後の標準に延期され、 C++26で追加されました)[ 92 ]- 機能テストマクロ
- オブジェクト表現のビットキャストは、より簡潔で
memcpy()コンパイラ内部をより活用できる - 条件付きで
explicit、明示的な修飾子をブール式に依存させることができます。 - constexpr 仮想関数
2018年11月の秋季会議(サンディエゴ)でC++20ワーキングドラフトに適用された変更には以下が含まれます。[ 93 ]
- レンジ(ワンレンジ提案)
- 概念 簡潔な構文
constexprunion、tryそしてcatch、、そして。dynamic_casttypeidstd::pointer_traits- さまざまな
constexprライブラリの断片 - 新しい
constevalキーワードを使用した即時関数 - 符号付き整数は、 2の補数表現を用いて表現されるように定義されました(符号付き整数のオーバーフローは未定義動作のままです)。
契約機能の改良(契約条件におけるアクセス制御)[ 94 ](後の標準に延期された機能のリストを参照)- 改訂されたメモリモデル
- デフォルト初期化によるスマートポインタの作成
2019年2月の冬季会議(コナ)でC++20ワーキングドラフトに適用された変更には、次のものが含まれます。[ 95 ] [ 96 ] [ 97 ]
- コルーチン
- モジュール
- 構造化バインディングに対する様々な改善点(ラムダキャプチャとの相互作用、
staticおよびthread_local保存期間)
2019年7月の夏季会議(ケルン)でC++20ワーキングドラフトに適用された変更には、次のものが含まれます。[ 98 ] [ 99 ] [ 100 ] [ 101 ]
2019年11月の秋季会議(ベルファスト)でのNBコメント決議中に適用された変更には、次のものが含まれます。[ 129 ] [ 130 ] [ 131 ] [ 132 ]
operator==非型テンプレートパラメータ (NTTP) のクラス型:テンプレート引数の等価性の意味が から切り離されたため、ユーザー定義が許可されないという制限が削除されましたoperator==。[ 133 ]これにより、クラス型 NTTP で配列メンバーも使用できるようになります。- 浮動小数点型、[ 134 ]ポインタと参照、共用体、共用体のようなクラス(匿名共用体を含むクラス型)がNTTPとして許可されるようになりました。
- 関数の同一性には、末尾のrequires節も含まれるようになった(P1971)。
- 制約付き非テンプレート関数が削除されました
<compare>現在はスタンドアロン実装で利用可能です[ 135 ]std::spans typedef は、標準ライブラリの残りの部分と一貫性を持たせるindex_typeために から に変更されました[ 136 ]size_type- ケルン会議の結果、概念の名称が変更されたことに伴い、概念特性の名称も変更されました。
- 範囲に関するいくつかの修正と追加 (P1456R1: 移動専用ビュー、[ 137 ] P1391R4: 範囲コンストラクタ
std::string_view(文字のイテレータペアからのコンストラクタ)、[ 138 ] P1394R4: 範囲コンストラクタ、[ 139 ] P1870R1: 転送範囲< T >が微妙すぎる[ 140 ] )std::span<ref> - の初期化は、
std::atomic<T>デフォルトおよびリスト初期化で動作するように変更され、[ 141 ] 新しいメンバ関数を通じて実装がサポートする最大スレッド数を報告できるようになりましたstd::latch。std::barriermax() std::weak_equalityそれらはstd::strong_equalityもう使用されなくなったため削除されました- アルゴリズムは作成されました
<numeric>constexpr - C++20 の新規または変更された機能に対する不足していた機能テストマクロが追加されました[ 142 ]
参考文献
- ↑ 「The Standard」 . isocpp.org . 2020年9月19日のオリジナルからアーカイブ済み。 2020年9月7日取得。
- ↑ Sutter, Herb (2019-10-01). "P1000R3: C++ IS スケジュール" (PDF) . 2019-11-14 のオリジナルからアーカイブ(PDF) . 2020-02-13に取得.
- ↑ Dusíková, Hana (2019-11-06). "N4817: 2020年プラハ会議の招待状と情報" (PDF)。2019-12-29のオリジナルからアーカイブ済み(PDF) 。2020-02-13に取得。
- ↑ 「N4859 編集者レポート -- プログラミング言語 -- C++」。2022年12月9日にオリジナルからアーカイブ済み。2023年9月22日に取得。
- ↑ 「現在の状況」。isocpp.org 。 2020年9月8日のオリジナルからアーカイブ済み。2020年9月7日に取得。
- ↑ "C++20 承認済み -- Herb Sutter" . isocpp.org . 2020 年 9 月 11 日のオリジナルからアーカイブ済み. 2020 年9 月 8 日取得.
- ↑ "ISO/IEC 14882:2020"。2020年12月16日にオリジナルからアーカイブ済み。2020年12月16日に取得。
- ↑ 「C++標準はなぜ3年ごとにリリースされるのか?」。2019年7月13日。2019年7月13日のオリジナルからアーカイブ。 2019年7月19日取得。
- ↑ "P0592R0: C++20 の全体計画を大胆に提案する"。2017-03-08のオリジナルからアーカイブ済み。2017-05-06 に取得。
- ↑ 「P0606R0: コンセプト準備完了」(PDF)。2017年3月28日にオリジナルからアーカイブ(PDF) 。2017年5月6日に取得。
- ↑ "P1141R1 - 制約付き宣言のための別のアプローチ"。2018年11月11日にオリジナルからアーカイブされました。2018年11月11日に取得。
- ↑ "N4720: 作業草案、モジュールのための C++ の拡張" (PDF)。2019-04-30のオリジナルからアーカイブ(PDF) 。2019-04-30に取得。
- ↑ティム・シェン、リチャード・スミス。「指定初期化文言」。2017年10月15日のオリジナルからアーカイブ。 2017年7月16日取得。
- ↑ Thomas Köppe. "ラムダキャプチャ[ =, this ]を許可する" . 2019年2月9日にオリジナルからアーカイブ済み。2017年7月16日に取得。
- ↑ 「汎用ラムダ式のための馴染みのあるテンプレート構文」。2018年11月21日にオリジナルからアーカイブ済み。2017年7月16日に取得。
- ↑ 「初期化子を持つ範囲ベースの for ステートメント」。2017年4月6日にオリジナルからアーカイブされました。2019年10月30日に取得。
- 1 2 3 「旅行記:2017年11月、アルバカーキで開催されたC++標準化会議」。ウォーリーがいる!。2017年11月20日。2017年12月11日のオリジナルからアーカイブ。 2017年12月11日に取得。
- ↑ 「未評価コンテキストにおけるラムダの記述」(PDF)。2017年12月12日のオリジナルからアーカイブ(PDF) 。 2017年12月11日に取得。
- ↑ 「デフォルトで構築可能で割り当て可能なステートレスラムダ」(PDF)。2017年12月12日のオリジナルからアーカイブ(PDF) 。 2017年12月11日に取得。
- ↑ "ラムダ init-capture でのパック展開" . www.open-std.org . 2020-02-14 のオリジナルからアーカイブ済み. 2017-12-11に取得.
- ↑ 「非型テンプレートパラメータのクラス型」(PDF) . www.open-std.org . 2018-06-06. 2022-02-05 のオリジナルからアーカイブ(PDF) . 2022-02-18に取得.
- ↑ Nina Ranns; Daveed Vandevoorde. "Down with typename!" . 2018年4月22日のオリジナルからアーカイブ済み。 2019年5月18日取得。
- ↑ 「空のオブジェクトに対する言語サポート」。2018年4月17日にオリジナルからアーカイブ済み。2019年8月4日に取得。
- ↑ 「可能性が高い属性と可能性が低い属性の提案文言(改訂5)」。2018年5月13日にオリジナルからアーカイブ済み。2019年5月18日に取得。
- ↑ "explicit(bool)" . www.open-std.org . 2018-07-20 のオリジナルからアーカイブ済み。2018-11-13に取得。
- ↑ 「定数式での仮想関数呼び出しの許可」。www.open -std.org。2018年6月11日にオリジナルからアーカイブ済み。2019年3月11日に取得。
- ↑ "P1330R0 - constexpr 内で共用体の有効なメンバーを変更する"。2019-07-26のオリジナルからアーカイブ済み。2019-07-26に取得。
- ↑ "P1002R0 - constexpr 関数内の try-catch ブロック" (PDF)。2018-11-11のオリジナルからアーカイブ(PDF) 。2018-11-11に取得。
- ↑ "P1327R0 - 定数式での dynamic_cast、ポリモーフィック typeid の許可"。2019-07-26のオリジナルからアーカイブ済み。2019-07-26に取得。
- ↑ "P1006R1 - std::pointer_traits の Constexpr" (PDF)。2018-11-11のオリジナルからアーカイブ(PDF) 。2018-11-11に取得。
- ↑ 「P1073R2 - 即時機能」。2018年10月26日にオリジナルからアーカイブされました。2018年11月11日に取得。
- ↑ "P1236R0: P0907R4 符号付き整数は 2 の補数である の代替表現"。2018-11-11のオリジナルからアーカイブ済み。2018-11-11に取得。
- ↑ "P0668R4: C++ メモリ モデルの改訂"。2018-11-11のオリジナルからアーカイブ済み。2018-11-11に取得。
- ↑ "P1091R1: 構造化バインディングを拡張して変数宣言に近づける" . www.open-std.org . 2019年1月26日のオリジナルからアーカイブ済み。 2019年2月24日取得。
- ↑ "P1091R2: 構造化バインディングを拡張して変数宣言に近づける" . www.open-std.org . 2019年1月26日のオリジナルからアーカイブ済み。 2019年2月24日取得。
- ↑ "N4649: コルーチン用 C++ 拡張機能の技術仕様書 作業草案" (PDF)。2017-05-16のオリジナルからアーカイブ(PDF) 。2017-05-06に取得。
- 1 2 "P1099R5: 列挙型の使用" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20 に取得。
- 1 2 "P1143R2: constinit キーワードの追加" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P0896R3" (PDF)。2018年11月11日にオリジナルからアーカイブされました(PDF) 。2018年11月11日に取得。
- ↑ 「make_shared を拡張して配列をサポートする」。2017年9月6日にオリジナルからアーカイブ済み。2020年2月12日に取得。
- ↑メレディス、アリスデア、サッター、ハーブ。「C++20 のための atomic_shared_ptr の改訂」。JTC1 / SC22/WG21 - C++ 標準化委員会 - ISOCPP。ISO。2018年1 月 4 日のオリジナルからアーカイブ済み。2018年12 月 27 日取得。
- ↑ 「ポインタを生ポインタに変換するユーティリティ」。2018年2月20日にオリジナルからアーカイブ済み。2020年2月12日に取得。
- ↑ハワード・E・ヒナント、トマシュ・カミンスキー。「<chrono>をカレンダーとタイムゾーンに拡張する」。2018年5月13日のオリジナルからアーカイブ。 2019年5月18日取得。
- ↑ Neil MacIntosh; Stephan T. Lavavej. "span: オブジェクトのシーケンスに対する境界安全なビュー" . 2019年5月18日のオリジナルからアーカイブ済み。2019年5月18日に取得。
- ↑ Alisdair Meredith; Stephan T. Lavavej (2018-10-04). "C++20 のライブラリ基本事項 2 から一貫性のあるコンテナ消去を採用" . 2021-03-08 のオリジナルからアーカイブ済み。2020-12-14に取得。
- ↑アラン・タルボット。「<version>」。2019年5月18日にオリジナルからアーカイブ済み。2019年5月18日に取得。
- ↑ 「C++ WD への機能テスト マクロの統合 (rev. 2)」。www.open-std.org。2018-07-20のオリジナルからアーカイブ。2018-11-10に取得。
- ↑ 「ビットキャストオブジェクト表現」。www.open -std.org。2018年8月18日のオリジナルからアーカイブ済み。 2018年11月10日取得。
- ↑ "P1032R1 - Misc constexpr bits"。2018年10月26日にオリジナルからアーカイブされました。2018年11月11日に取得。
- ↑ 「デフォルト初期化によるスマートポインタの作成」。2019年1月26日にオリジナルからアーカイブ済み。2020年2月12日に取得。
- ↑ミハイル・マルツェフ。「P0458R2: 連想コンテナ内の要素の存在確認」。2022年1月16日にオリジナルからアーカイブ。2022年1月2日に取得。
- ↑ミハイル・マルツェフ。「P0457R2: 文字列の接頭辞と接尾辞のチェック」。2022年5月18日にオリジナルからアーカイブ済み。2025年6月22日に取得。
- 1 2 "P0553R4: ビット演算" . www.open-std.org . 2019-07-20. 2019-07-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P0556R3: 2のべき乗の整数演算" . www.open-std.org . 2018-06-06. 2019-06-26 のオリジナルからアーカイブ済み。2020-08-08に取得。
- ↑ "P1355R2 ceil2 の狭い契約を公開" . www.open-std.org . 2019-06-11. 2019-08-05 のオリジナルからアーカイブ済み。2020-08-08に取得。
- ↑ 「低レベルビット操作関数の名前について」(PDF)。www.open-std.org。2020年2月11日。2020年3月24日のオリジナルからアーカイブ(PDF) 。 2020年8月8日取得。
- ↑ Tomasz Kamiński (2017-11-09). "簡略化された部分関数適用" . 2020-09-28 のオリジナルからアーカイブ済み。2020-11-08に取得。
- 1 2 "P1643R1: atomic_ref < T >に wait/notify を追加" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "C++ キーワード - cppreference.com" . en.cppreference.com . 2012-03-19 のオリジナルからアーカイブ済み. 2019-08-04に取得.
- ↑ "明示的指定子 - cppreference.com" . en.cppreference.com . 2012-02-21 のオリジナルからアーカイブ済み。2019-08-04 に取得。
- 1 2 3 "P1152R4: volatile の非推奨化" . www.open-std.org . 2019-07-20. 2019-06-23 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "属性指定子シーケンス(C++11以降) - cppreference.com" . en.cppreference.com . 2012年7月5日にオリジナルからアーカイブ済み。2019年8月4日に取得。
- ↑ 「プログラミング言語C++の標準規格(附属書C、§C.1)」(PDF)。2020年4月27日にオリジナルからアーカイブ(PDF) 。 2020年11月18日に取得。
- 1 2 "P1161R2: 添え字式でのカンマ演算子の使用を非推奨にする" . www.open-std.org . 2019-07-20 のオリジナルからアーカイブ済み. 2019-07-20に取得.
- ↑ "C++ 並列処理拡張機能 バージョン 2"。2022-09-21のオリジナルからアーカイブ(PDF) 。2019-07-09に取得。
- ↑ 「C++ のリフレクション拡張機能」。2022年9月21日にオリジナルからアーカイブ(PDF)。2019年7月9日に取得。
- ↑ 「C++ のネットワーク拡張機能」。2022年9月21日にオリジナルからアーカイブ(PDF)。2019年7月9日に取得。
- ↑ Sutter, Herb (2019-07-20). "旅行記: 夏の ISO C++ 標準化会議 (ケルン)" . Sutter's Mill . 2020-04-17 のオリジナルからアーカイブ済み. 2019-07-21に取得.
- ↑ 「リフレクション提案に関する考察 - Meeting C++」 . meetingcpp.com . 2017年6月23日のオリジナルからアーカイブ済み。 2017年6月30日取得。
- ↑ 「静的リフレクション」。www.open -std.org。2020年2月22日にオリジナルからアーカイブ済み。2018年11月10日に取得。
- ↑ Herb Sutter . "Metaclasses" (PDF) . 2020年11月11日のオリジナルからアーカイブ(PDF) . 2017年7月23日取得.
- ↑ 「C++ のための統一実行エンジンの提案」。www.open -std.org。2020年2月20日のオリジナルからアーカイブ済み。 2019年2月24日取得。
- ↑ 「N4771: ワーキングドラフト、ネットワーク用 C++ 拡張機能」(PDF)。2020年4月19日のオリジナルからアーカイブ済み(PDF) 。 2019年3月23日取得。
- ↑ "ISO/IEC TS 19216:2018 プログラミング言語 -- ネットワーク用 C++ 拡張機能"。2019年1月15日にオリジナルからアーカイブ済み。2018年12月17日に取得。
- ↑ 「汎用プロパティカスタマイズメカニズム」。www.open -std.org。2020年1月19日にオリジナルからアーカイブ済み。2019年2月24日に取得。
- ↑ 「C++ の統一未来提案」。2022年9月21日にオリジナルからアーカイブ済み。2019年7月8日に取得。
- ↑ "C++ コンパイラ サポート - cppreference.com" . en.cppreference.com . 2022-08-08 のオリジナルからアーカイブ済み. 2022-08-12に取得.
- ↑ jawiddis. "Visual Studio 2019 バージョン 16.10 リリース ノート" . docs.microsoft.com . 2021-08-11 のオリジナルからアーカイブ済み. 2021-07-13に取得.
- ↑ "MSVC C++20 と /std:c++20 スイッチ" . docs.microsoft.com . 2021 年 9 月 2 日。2021年 9 月 6 日のオリジナルからアーカイブ済み。2021年 9 月7 日取得。
- ↑ Microsoft C++ 用 Visual Studio ドキュメント、Microsoft Docs、2022 年 4 月 19 日、2022 年 4 月 19 日のオリジナルからアーカイブ、 2022 年 4 月 19 日取得
- ↑ 「Visual Studio 2019 の互換性」。docs.microsoft.com 。 2020年6月3日にオリジナルからアーカイブ済み。2022年8月12日に取得。
- ↑ "Clang - C++ プログラミング言語のステータス" . clang.llvm.org . 2013-07-04 のオリジナルからアーカイブ済み. 2022-04-19に取得.
- ↑ "C++ コンパイラ サポート - cppreference.com" . en.cppreference.com . 2020-10-03 のオリジナルからアーカイブ済み. 2020-10-10に取得.
- ↑ "Andrew Sutton - [ PATCH ] Add -std=c++2a" . gcc.gnu.org . 2021-03-01のオリジナルからアーカイブ済み。2022-04-19 に取得。
- ↑ "GCCにおけるC++標準のサポート - GNUプロジェクト" . gcc.gnu.org . 2022年4月20日のオリジナルからアーカイブ済み. 2022年4月19日取得.
- ↑ Herb Sutter (2017年7月15日) 「旅行記:夏季ISO C++標準化会議(トロント)」。2017年8月6日のオリジナルからアーカイブ。 2017年7月16日取得。
- ↑ Andrew Sutton; Bjarne Stroustrup (2013-02-24). "Concepts Lite: Constraining Templates with Predicates" . isocpp.org . 2021-01-16 のオリジナルからアーカイブ済み. 2021-01-13に取得.
- ↑ Herb Sutter (2017年11月11日) 「旅行記:秋のISO C++標準化会議(アルバカーキ)」。2019年2月13日のオリジナルからアーカイブ。 2017年12月4日取得。
- ↑ Smith, Richard; Perchik, Dawn; Köppe, Thomas. "N4714 編集者レポート -- プログラミング言語 -- C++" . C++ 標準ドラフト. GitHub . 2022 年 9 月 21 日のオリジナルからアーカイブ済み. 2018 年12 月 27 日取得.
- ↑ Botond Ballo (2018年3月28日)。「旅行記:2018年3月ジャクソンビルで開催されたC++標準化会議」。2019年5月18日にオリジナルからアーカイブ済み。2019年5月18日に取得。
- ↑ Herb Sutter (2018年7月2日)。「旅行記:夏のISO C++標準化会議(ラッパースヴィル)」。2020年5月23日のオリジナルからアーカイブ。 2018年11月10日取得。
- ↑ 「C++ における契約ベースプログラミングのサポート」。www.open -std.org。2020年1月15日のオリジナルからアーカイブ済み。2018年11月10日取得。
- ↑ 2018年11月の秋季会議
- ↑ 「P1289R0 - 契約条件におけるアクセス制御」(PDF)。2018年11月11日にオリジナルからアーカイブ(PDF) 。 2018年11月11日に取得。
- ↑ 2019年2月の冬季会議
- ↑ "r/cpp - 2019-02 Kona ISO C++ 委員会旅行報告 (C++20 設計完了; C++20 のモジュール; C++20 のコルーチン; Reflection TS v1 公開; C++ エコシステム技術報告書の作成開始)" . reddit . 2019 年 2 月 23 日。2019-02-23のオリジナルからアーカイブ済み。2019-02-24に取得。
- ↑ 「旅行記:冬季ISO C++標準化会議(コナ)」。サッターズミル。2019年2月23日。2019年2月24日のオリジナルからアーカイブ。2019年2月24日に取得。
- ↑ 「2019年ケルン会議の招待状と情報」(PDF)
- ↑ "r/cpp - 2019-07 ケルン ISO C++ 委員会旅行報告 — 🚀 C++20 イーグルが着陸しました 🚀 (C++20 委員会ドラフトが出荷されました。契約は C++20 から研究グループに移動されました。C++20 の 'std::format'。C++20 同期ライブラリ)" . reddit . 2019 年 7 月 20 日。2020 年 4 月 20 日のオリジナルからアーカイブされています。2019年 9 月 15 日取得。
- ↑ Botond Ballo (2019年7月26日)。「旅行記:2019年7月ケルンで開催されたC++標準化会議」。2020年2月26日にオリジナルからアーカイブ済み。2019年8月5日に取得。
- ↑ Sutter, Herb (2019年7月20日). "旅行記: 夏のISO C++標準化会議 (ケルン)" . 2020年4月17日のオリジナルからアーカイブ済み。2019年7月21日取得。
- ↑ Josuttis, Nicolai. "P1823R0: C++20 から契約を削除" (PDF)。2020年8月13日のオリジナルからアーカイブ(PDF) 。 2019年8月20日取得。
- ↑ 「constexpr コンテキストでの些細なデフォルト初期化の許可」(PDF)。2020年10月19日のオリジナルからアーカイブ(PDF) 。 2019年7月20日取得。
- ↑ "P1668R1: Constexpr 関数で未評価のインラインアセンブリを許可することにより Constexpr 組み込み関数を有効にする" . www.open-std.org . 2020-01-19 のオリジナルからアーカイブ済み. 2019-07-20に取得.
- ↑ "P1186R3: <=> は実際にいつ使用しますか?" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1630R1: 宇宙船の調整が必要" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1766R1: マイナーモジュールの不具合の軽減" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1452R2: 戻り値の型要件の非統一的な意味論について" . www.open-std.org . 2019-07-20. 2019-08-20のオリジナルからアーカイブ済み。2019-07-20 に取得。
- ↑ "P1771R1: コンストラクタのnodiscard" (PDF) . www.open-std.org . 2019-07-20. 2022-09-21 のオリジナルからアーカイブ(PDF) . 2019-07-20に取得.
- ↑ "P1754R1: C++20 のために、まだ可能なうちに概念名を standard_case に変更します" (PDF)。www.open-std.org。 2019-07-20。2019-08-20 のオリジナルからアーカイブ(PDF) 。 2019-07-20に取得。
- ↑ "P0645R10: テキストの書式設定" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "C++20 の std::format" . www.zverovich.net . 2019-07-23. 2019-07-23 のオリジナルからアーカイブ済み。2019-09-15に取得。
- ↑ "P1361R2: chrono とテキスト書式設定の統合" (PDF) . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ(PDF) . 2019-07-20に取得.
- ↑ "P1652R1: std::format の Printf のコーナーケース" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1965R2: constexpr INVOKE" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P0631R8: 数学定数" (PDF) . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ(PDF) . 2019-07-20に取得.
- ↑ "P1664R0: atomic<shared_ptr < T > > に wait/notify を追加" . www.open-std.org . 2019-07-20. 2021-11-05 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1614R2: マザーシップが着陸しました - ライブラリに <=> を追加します" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1502R1: C++20 の標準ライブラリ ヘッダー ユニット" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P1135R6: C++20 同期ライブラリ" . www.open-std.org . 2019-07-20. 2019-08-20 のオリジナルからアーカイブ済み。2019-07-20に取得。
- ↑ "P0514R4: C++20 の効率的な並行待機" (PDF)。2018-08-18のオリジナルからアーカイブ(PDF) 。2019-07-20に取得。
- ↑ "P0666R2: C++20 用の改訂版ラッチとバリア" (PDF)。2018-08-18のオリジナルからアーカイブ(PDF) 。2019-07-20に取得。
- ↑ "P0995R1: atomic_flag の改善"。2019年7月20日にオリジナルからアーカイブされました。2019年7月20日に取得。
- ↑ "P1285R0: 小型CPUでC++を実装不可能にしない"。2019年7月15日にオリジナルからアーカイブ済み。2019年7月20日に取得。
- ↑ "P1208R6: C++20 用のライブラリ基本事項 V3 から source_location を採用" (PDF)。2019-08-20のオリジナルからアーカイブ(PDF) 。2019-08-20に取得。
- ↑ "P0980R1: std::string constexpr の作成" (PDF)。2020年9月29日のオリジナルからアーカイブ(PDF) 。 2020年7月30日取得。
- ↑ "P1004R2: std::vector constexpr の作成" (PDF)。2020年9月28日のオリジナルからアーカイブ済み(PDF) 。 2020年7月30日取得。
- ↑ "P0660R10: 停止トークンとスレッドへの参加" (PDF)。2019年8月20日にオリジナルからアーカイブ(PDF) 。 2019年8月20日に取得。
- ↑ 2019年11月の秋季会議
- ↑ "r/cpp - 2019-11 Belfast ISO C++ Committee Trip Report — C++20 委員会ドラフトに関するフィードバックの処理を開始。ABI レビュー グループが結成" . reddit . 2019 年 11 月 9 日。2019-11-09のオリジナルからアーカイブ済み。2019-11-09に取得。
- ↑ Sutter, Herb (2019-11-09). "旅行記: 秋の ISO C++ 標準化会議 (ベルファスト)" . Sutter's Mill . 2019-11-09 のオリジナルからアーカイブ済み. 2019-11-09に取得.
- ↑ botondballo (2019-11-15). "旅行記: 2019年11月、ベルファストで開催されたC++標準化会議" . There's Waldo! . 2019-11-20のオリジナルからアーカイブ済み。2019-11-24に取得。
- ↑ "P1907R0: 非型テンプレートパラメータの不整合" . www.open-std.org . 2019-10-07. 2019-11-09 のオリジナルからアーカイブ済み。2019-11-09に取得。
- ↑ "P1714: NTTP は float、double、long double がないと不完全です! (改訂 1)" . www.open-std.org . 2019-07-19. 2019-11-09のオリジナルからアーカイブ済み。2019-11-09 に取得。
- ↑ "P1855R=: <compare> を独立型にする" . www.open-std.org . 2019-10-05. 2019-11-09 のオリジナルからアーカイブ済み。2019-11-09に取得。
- ↑ "P1872R0: span には index_type ではなく size_type が必要です" (PDF) . www.open-std.org . 2019-09-16. 2019-11-09 のオリジナルからアーカイブ(PDF) . 2019-11-09に取得.
- ↑ "P1456: 移動専用ビュー" (PDF) . www.open-std.org . 2019-01-25. 2019-11-09 のオリジナルからアーカイブ(PDF) . 2019-11-09に取得.
- ↑ "P1391: std::string_view の範囲コンストラクタ" (PDF) . www.open-std.org . 2020-01-04 のオリジナルからアーカイブ(PDF) . 2019-11-09に取得.
- ↑ "P1394: std::span の範囲コンストラクタ" (PDF) . www.open-std.org . 2019-08-02. 2019-11-09 のオリジナルからアーカイブ(PDF) . 2019-11-09に取得.
- ↑ "P1870R1: forwarding-range < T >は微妙すぎる" . www.open-std.org . 2019年10月6日。2019年11月9日のオリジナルからアーカイブ。2019年11月9日に取得。
- ↑ "P0883: アトミック初期化の修正" (PDF) . www.open-std.org . 2018-06-05. 2019-11-09 のオリジナルからアーカイブ(PDF) . 2019-11-09に取得.
- ↑ 「機能テストマクロの欠落 2018-2019」。www.open -std.org。2019年10月6日。2019年11月9日のオリジナルからアーカイブ。2019年11月9日に取得。
外部リンク
- ISOオンラインストアでISO/IEC 14882:2020を購入するためのリンクはこちらです。
- N4860は、規格の最終草案版である。
- JTC1/SC22/WG21 – ISO/IEC C++標準化ワーキンググループ(別名:C++標準化委員会)
- Ranges ( range-v3 ) GitHubリポジトリ、作成者:Eric Niebler