C++20
C++20 は、プログラミング言語 C++ の標準規格 ISO/IEC 14882:2020 の通称である。C++17 の次のバージョンである。この規格は、2020年2月にプラハで開催された会議でWG21によって技術的に最終決定され、2020年9月4日に承認され、2020年12月に公開された。
C++20は、C++14やC++17と比べ新たな主要機能が追加されている。以下は、C++20に受け入れられるか、C++20に含めることが検討されている変更の一部のリストである。 [要更新]
連続した配列へのビューを提供するstd::span(std::string_viewと類似するが、spanは参照されたシーケンスを変更可能である)
<version>ヘッダ
2018年6月の夏の会議(Rapperswil)でC++20ワーキングドラフトに適用された変更は次のとおりである:
契約を今後の標準に延期
機能テストマクロ
memcpy()より冗長性が低く、コンパイラの内部を利用する能力が高いオブジェクト表現のビットキャスト
明示的修飾子がブール式に依存することを可能にする条件付きexplicit
constexpr仮想関数
2018年11月の秋の会議(サンディエゴ)でC++20ワーキングドラフトに適用された変更は次のとおりである:
範囲(1つの範囲の提案)
コンセプトの簡潔な構文
constexpr union、try および catch、dynamic_cast、typeid、std::pointer_traits。
さまざまなconstexprライブラリビット
新しいconstevalキーワードを使用した即時関数
符号付き整数は、2の補数を使用して表されるように定義された(符号付き整数オーバーフローは未定義の動作のままである)
契約機能の改善(契約条件でのアクセス制御) (今後の標準に延期された機能のリストを参照)
改訂された記憶モデル
デフォルト初期化によるスマートポインタの作成