std::type_identity
定义于头文件 <type_traits>
|
||
template< class T > struct type_identity; |
(C++20 起) | |
提供指名 T
的成员 typedef type
(即恒等变换)。
添加 type_identity
的特化的程序行为未定义。
成员类型
名称 | 定义 |
type
|
T
|
辅助类型
template< class T > using type_identity_t = typename type_identity<T>::type; |
(C++20 起) | |
可能的实现
template< class T > struct type_identity { using type = T; }; |
注解
type_identity
能用于在模板实参推导中建立非推导语境:
template<class T> void f(T, T); template<class T> void g(T, std::type_identity_t<T>); f(4.2, 0); // 错误:对 'T' 推导出冲突的类型 g(4.2, 0); // OK :调用 g<double>
示例
本节未完成 原因:暂无示例 |