全特化,就是模板中模板参数全被指定为确定的类型。 全特化也就是定义了一个全新的类型,全特化的类中的函数可以与模板类不一样。 偏特化,就是模板中的模板参数没有被全部确定,需要编译器在编译时进行确定。 在类型上加上const、&、*( cosnt int、int&、int*、等等)并没有产生新的类型。只是类型被修饰了。...
定义ADT数组特化模板类的实例也很方便,如ADT<int[100]> adt1 实质定义了元素数量为100的int数组;ADT<float*[10]> adt2 实质定义了元素数量为10的float*指针数组;还可以嵌套其主模板类的类型,如ADT<ADT<int>[100]> adt3 实质定义了元素数量为100的int数组,之所以能这样,这是因为主模板类和其特化类是两个...
#pragma endregion 用devc++,Vs2005,vc2008都不能编译通过,报连接错误,或者报模板函数是一个普通非模板类,或者非模板函数。 于是翻开C++ Primer,在16.4节有详细的说明, 1.对于一个特化的类,声明一个友元模板必须对友元模板授予类的一个实例。 2.对特定实例化的友元关系时,必须在可以用于友元声明之前声明类或函数。