decay-Klasse
Erzeugt den Typ bei der Übergabe durch einen Wert. Erzeugt einen Typ ohne Verweis, einen nicht konstanten Typ, einen nicht flüchtigen Typ, oder erstellt aus einer Funktion oder aus einem Arraytyp einen Zeiger auf den Typ.
Syntax
template <class T>
struct decay;
template <class T>
using decay_t = typename decay<T>::type;
Parameter
T
Der zu ändernde Typ.
Hinweise
Verwenden Sie die decay-Vorlage, um den resultierenden Typ so zu erstellen, als würde er durch einen Wert als Argument übergeben. Der Elementtyp type
der Klassenvorlage enthält einen geänderten Typ, der in den folgenden Phasen definiert ist:
Der Typ
U
ist alsremove_reference<T>::type
definiert.Wenn
is_array<U>::value
wahr ist, lautet der geändertetype
-Typremove_extent<U>::type *
.Wenn
is_function<U>::value
wahr ist, lautet der geändertetype
-Typadd_pointer<U>::type
.Andernfalls lautet der geänderte
type
-Typremove_cv<U>::type
.
Anforderungen
Header:<type_traits>
Namespace: std