Freigeben über


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 als remove_reference<T>::type definiert.

  • Wenn is_array<U>::value wahr ist, lautet der geänderte type-Typ remove_extent<U>::type *.

  • Wenn is_function<U>::value wahr ist, lautet der geänderte type-Typ add_pointer<U>::type.

  • Andernfalls lautet der geänderte type-Typ remove_cv<U>::type.

Anforderungen

Header:<type_traits>

Namespace: std

Siehe auch

<type_traits>