template< > void f<char>(char c){...} //to specialize an existing func template
--------
to specialize a func template,
template <typename T> void fn(T a){}
template<> void fn<char*>(char* a){}
--------
Some<int> is distinct from Some<char> or Some<short> --
template <typename T> class Some{
public: static int stat;
};
template<typename T> int Some<T>::stat = 10;
int main()
{
Some<int>::stat = 5;
cout<<Some<int>::stat<<endl;
cout<<Some<char>::stat<<endl;
cout<<Some<short>::stat<<endl;
cout<<Some<long>::stat<<endl;