std::decay
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <type_traits> 中定义
|
||
template< class T > struct decay; |
(C++11 起) | |
适用于左值,右值,数组与指针,函数指针的隐式转换的类型
T
,移除cv修饰符,并定义的成员typedeftype
的结果类型。这是当按值传递给函数的所有参数的类型转换.原文:
Applies lvalue-to-rvalue, array-to-pointer, and function-to-pointer implicit conversions to the type
T
, removes cv-qualifiers, and defines the resulting type as the member typedef type
. This is the type conversion applied to all function arguments when passed by value.目录 |
[编辑] 会员类型
姓名
|
Definition |
type
|
应用的衰变类型转换
T 的结果 原文: the result of applying the decay type conversions to T |
[编辑] 可能的实现
template< class T > struct decay { typedef typename std::remove_reference<T>::type U; typedef typename std::conditional< std::is_array<U>::value, typename std::remove_extent<U>::type*, typename std::conditional< std::is_function<U>::value, typename std::add_pointer<U>::type, typename std::remove_cv<U>::type >::type >::type type; }; |
[编辑] 示例
本章尚未完成 原因:暂无示例 |
[编辑] 另请参阅
implicit conversion | 数组与指针,函数指针,右值到左值的转换
原文: array-to-pointer, function-to-pointer, rvalue-to-lvalue conversions |