Поделиться через


Класс decay

Создает тип в качестве передаваемого значения. Создает тип, не являющийся ссылочным, константным, временным, или создает указатель на тип из функции или типа массива.

Синтаксис

template <class T>
struct decay;

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

Параметры

T
Тип для изменения.

Замечания

Используйте шаблон decay для создания результирующего типа, как если бы тип был передан по значению в качестве аргумента. Тип элемента шаблона 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

См. также

<type_traits>