このページはC++20に採用された言語機能の変更を解説しています。
のちのC++規格でさらに変更される場合があるため関連項目を参照してください。
概要
C++17で導入されたクラステンプレートのテンプレート引数推論は、コンストラクタ引数からテンプレート引数を推論するものであった。
C++20では、ユーザー定義のコンストラクタをもたない集成体クラステンプレートの初期化からクラステンプレート引数を推論できるようにする。
template <class T>
struct Point {
T x;
T y;
};
Point p1{3.0, 4.0}; // C++17:NG C++20:OK