函数模板的特化
templateint compare(T v1,T v2) { if(v1 v2) return 1; else return 0; } template <> int compare (char * s1,char * s2) { return strcmp(s1,s2); }
类模板的特化
templateclass test { public: void operator()() { cout<<"test "< class test { public: void operator()() { cout<<"test "< 模板的偏特化 templatestruct testClass { testClass(){cout<<"I,O"< struct testClass { testClass(){cout<<"T*,T*"< 成员模板 templateclass v { public: template void insert(int position ,T1 t) { cout<<"insertion"< 根据前面一个模板确定当前的模板参数
template> class test { public: test(){cout<<"test"< 模板与友元的绑定
templateclass Queue { friend bool operator == (const Queue &t1,const Queue &t2) { cout<<"T,T"< 内联函数模板
inline templateT min(const T& a,const T & b) { return a 注意inline 和template的位置不能互换 模板内部指定类型
templateclass test { public: typename T::size_type t; //模板内部定义类型 }; 非类型模板形参
templatevoid arr(T (¶)[N]) { int i=0; for(i=0;i