STL全特化与偏特化

在泛型编程中,常常会使用一些非完全泛型的类模板,这就是特化

 

 如何理解全特化呢?如上图所示,第一个template class是空间配置器的类模板,第二个就是一个全特化的template class。全特化是为了节省时间或空间而重写的一种类模板。

你可以这样理解,一个类模板,它在正常情况下都会正常使用第一个标准的类模板,当遇到几个特殊的泛化类型时,为其提供了专有的类。

全特化即需要泛型的参数该特化模板类全都指定了。(上例即指定为void)

偏特化分两种

 

 

①特化部分参数

如上图左侧所示,该类模板偏特化了第一个类型为bool类型

②偏特化一类参数

这个理解有点麻烦,它偏特化一类类型,如上图右侧所示,它偏特化了指针这类泛型,所有泛型类型为指针的类型即使用下面的偏特化类模板。

posted @ 2019-12-10 17:25  C_hp  阅读(387)  评论(0编辑  收藏  举报