decay クラス

値で渡された型を生成します。 型を非参照、非定数、非揮発性にします。または、関数からの型または配列型へのポインターを作成します。

構文

template <class T>
struct decay;

template <class T>
using decay_t = typename decay<T>::type;

パラメーター

T
変更する型。

解説

型が引数として値で渡されたかのように結果の型を生成するには、decay テンプレートを使います。 クラス テンプレートのメンバー typedef type は、次の段階で定義された修飾型を保持します。

  • Uremove_reference<T>::type として定義されます。

  • is_array<U>::value が true の場合、修飾型 typeremove_extent<U>::type * になります。

  • is_function<U>::value が true の場合、修飾型 typeadd_pointer<U>::type になります。

  • それ以外の場合、修飾型 typeremove_cv<U>::type になります。

要件

ヘッダー: <type_traits>

名前空間: std

関連項目

<type_traits>