Nin+.Lee's Recycle Bin

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在C++中,模板特化是除了类之外的一种封装变化的方法。模板特化可以通过编译器来对不同的模板参数生成不同的代码。

模板特化通常以模板结构体作为载体。常用技法包括:类型定义、静态成员常量定义和静态成员函数定义。

从不同的角度来看待模板特化,模板特化可以扮演以下角色:

一、函数

模板结构体可以被看做一种函数,其参数必须是明确的类型、整数或者变长参数。变长参数展开甚至可以递归。

二、分支

模板结构体可以实现判断模板参数的类型来完成不同的工作。在编程的时候,如果碰到类似“如果类型是A时进行a操作,如果类型是B进行b操作”的情况,说明可以使用模板特化了。

三、多态

模板特化可以实现对外统一的接口。可是内部实现却根据不同的模板参数有不同的实现。

 

posted on 2017-08-19 21:58  Nin+.Lee  阅读(297)  评论(0编辑  收藏  举报