C++模板特化匹配规则精要.pdfVIP

  • 1
  • 0
  • 约1.84千字
  • 约 2页
  • 2026-04-15 发布于北京
  • 举报

模板特化时的匹配规则(1)类模板的匹配规则最优化的优于次特化的,即模板参数最精确匹配的具有最高

的优先权例子:temteclassTclassvector{//...//};//(a)普通型temteclassTclassvector

T*{//...//};//(b)对指针类型特化temteclassvectorvoid*{//...//};//(c)对void*进行特化

每个类型都可以用作普通型(a)的参数,但只有指针类型才能用作(b)的参数,而只有void*才能作为(c)的

参数(2)函数模板的匹配规则非模板函数具有最高的优先权。如果不存在匹配的非模板函数的话,那么最

匹配的和最特化的函数具有高优先权例子:temteclassTvoidf(T);//(d)temteclassT

voidf(int,T,double);//(e)temteclassTvoidf(T*);//(f)temtevoidfint(int);//(g)

voidf(double);//(h)boolb;inti;doubled;f(b);//以T=bool调用(d)f(i,42,d)//以T=int调用(e)f(

i);//以T=int*调用(f)f(d);//调用(g)参考文献[1]BjarneStroustrup,TheC++

文档评论(0)

1亿VIP精品文档

相关文档