値で渡された型を生成します。 型を非参照、非定数、非揮発性にします。または、関数からの型または配列型へのポインターを作成します。
構文
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