关于STL源码中一个函数参数没声明变量的有关问题

关于STL源码中一个函数参数没声明变量的问题
template <class ForwardIterator, class Size, class T, class T1>
            inline ForwardIterator __uninitialized_fill_n(ForwardIterator first, Size n,const T& x, T1*) 
        {
                typedef typename __type_traits<T1>::is_POD_type is_POD;
                return __uninitialized_fill_n_aux(first, n, x, is_POD());   //判断型别是否是POD型别
            }
代码如上,请问函数声明最后一个参数T1* 只声明了类型没声明变量这个是什么意思啊。。
------解决方案--------------------
利用传入的模板实参来推演该调用哪个重载的函数,具体解释如下:
对调用者来说的话,调用者只须要访问__uninitialized_fill_n,但是在__uninitialized_fill_n得确定该调用众多重载的__unitialized_fill_n_aux中一个,这个时候就可以根据is_POD()来确定。is_POD()会生成不同类型的实列(恰如__type_traits而言,会从不同的T1实参推倒出不同的类型),然后就会匹配到不同的__unitialized_fill_n_aux,这是一种典型的模板高级应用。这有一点像C++的v_table,一个对基类虚函数的调用会调用到不同的子类override的函数,机制不一样,但可以达到相似的调用。建议读一读template的高级应用。