in 中的某些类型转换<type_traits>
也可以使用核心语言语法来表达(例如std::add_const<T>::type
is/seems 等价于const T
)。Dtto for std::add_lvalue_reference
,也许还有其他人。这些类型特征有什么用?
我完全理解标准将提供一个没有它们的“不完整工具箱”,我可以想象以元方式使用,如下所示:
template<typename In, template <typename> class Modifier>
struct Apply {
typedef typename Modifier<T>::type Out;
};
Apply<int, std::add_const>
这些特征是否还有其他用例可以用句法表达,或者它们只是“出于完整性感”而包含在偶尔的元使用中?