Некоторые преобразования типов в <type_traits>
также могут быть выражены с использованием синтаксиса основного языка (например, std::add_const<T>::type
is/кажется эквивалентным const T
). Dtto для std::add_lvalue_reference
и, возможно, других. Какая польза от этих черт типа?
Я полностью понимаю, что стандарт будет предоставлять "неполный набор инструментов" без них, и я могу представить себе мета-путь, примерно так:
template<typename In, template <typename> class Modifier>
struct Apply {
typedef typename Modifier<T>::type Out;
};
Apply<int, std::add_const>
Существуют ли какие-либо другие варианты использования этих признаков, которые могут быть выражены синтаксически, или они просто включены "из чувства полноты" и для случайного мета-использования?