用作模板参数的指针的类类型

DaC*_*own 3 c++ templates pointers

如果将指向用户定义类型的指针作为模板参数传递给模板类,是否可以获取参数的类类型?

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;
}
Run Code Online (Sandbox Code Playgroud)

Ale*_* C. 5

使用特征:

template <typename> struct ptr_traits {};
template <typename T> struct ptr_traits<T*>
{ typedef T value_type; };

ptr_traits<vecType::value_type>::value_type m;
Run Code Online (Sandbox Code Playgroud)