std::decay<T>::type
时间: 2024-01-10 18:03:30 浏览: 216
关于 v s 2019 c++20 规范里的 S T L 库里模板 decay-t<T>
`std::decay<T>::type` 是 C++ 标准库中的一个类型转换工具,它用于获取类型 `T` 经过一系列类型转换后的结果类型。这个转换过程包括了以下几个步骤:
1. 如果 `T` 是一个数组类型,那么会转换为指针类型,并丢弃数组的维度信息。
2. 如果 `T` 是一个函数类型,那么会转换为相应的函数指针类型。
3. 如果 `T` 是一个引用类型,那么会转换为相应的非引用类型。
4. 如果 `T` 是一个具有顶层 `const` 限定符的类型,那么会移除 `const` 限定符。
5. 如果 `T` 是一个具有顶层 `volatile` 限定符的类型,那么会移除 `volatile` 限定符。
最终,`std::decay<T>::type` 将会得到经过上述转换后的类型。这个工具在模板编程中经常使用,可以方便地获取函数参数或模板参数的原始类型。
阅读全文