来自指针的类类型用作模板参数 [英] Class type from pointer used as template argument
本文介绍了来自指针的类类型用作模板参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果将用户定义类型的指针作为模板参数传递给模板类,是否可以获得参数的类类型?
If a pointer to an user defined type is passed as template argument to a template class, is it possible to get the class type of the argument?
template <class T> struct UserType {
typedef T value_type;
...
};
int main () {
typedef std::vector<UserType<double>*> vecType
vecType vec;
vecType::value_type::value_type m; //how to get the double here?
return 0;
}
推荐答案
使用特征:
template <typename> struct ptr_traits {};
template <typename T> struct ptr_traits<T*>
{ typedef T value_type; };
ptr_traits<vecType::value_type>::value_type m;
这篇关于来自指针的类类型用作模板参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文