是否有返回给定类型的基本类型 的类型特征模板。 基本类型 是指去除了所有值修饰符、const、volatile 等的类型。例如,使用假设的特征函数:
base<int>::type == int
base<int const>::type == int
base<int&>::type == int
我知道 remove_const
和 remove_reference
并且我目前只是结合使用它们。我想知道是否已经存在这样的特征,也许我所指的是否有合适的名称?
最佳答案
我可能会定义一个类型别名,例如:
template<typename T>
using base_type = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
请注意,在一篇不再可用的文章中,R. Martinho Fernandes为这样的类型别名提议名称 Unqualified
。
标准类型特征 std::decay
,另一方面与上面的相同和对数组和函数类型做更多的事情,这可能是也可能不是你想要的。
关于c++ - 获取模板类型的基类型(删除 const/reference/等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749557/