好的,以下代码是从另一个stackoverflow问题中复制的 这里
template<typename T>
struct remove_pointer
{
typedef T type;
};
template<typename T>
struct remove_pointer<T*>
{
typedef typename remove_pointer<T>::type type;
};
虽然我理解这是一个在模板中递归定义的问题,但令我困惑的是这几行代码:
template<typename T>
struct remove_pointer<T*>
这是否意味着 remove_pointer 将导致 T=int*?为什么不是 T=int**?感谢解释。