decay クラス
値で渡された型を生成します。 型を非参照、非定数、非揮発性にします。または、関数からの型または配列型へのポインターを作成します。
構文
template <class T>
struct decay;
template <class T>
using decay_t = typename decay<T>::type;
パラメーター
T
変更する型。
解説
型が引数として値で渡されたかのように結果の型を生成するには、decay テンプレートを使います。 クラス テンプレートのメンバー typedef type
は、次の段階で定義された修飾型を保持します。
型
U
がremove_reference<T>::type
として定義されます。is_array<U>::value
が true の場合、修飾型type
はremove_extent<U>::type *
になります。is_function<U>::value
が true の場合、修飾型type
はadd_pointer<U>::type
になります。それ以外の場合、修飾型
type
はremove_cv<U>::type
になります。
要件
ヘッダー: <type_traits>
名前空間: std