C++模板特化编程

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

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

从不一样的角度来看待模板特化,模板特化能够扮演如下角色:递归

1、函数接口

模板结构体能够被看作一种函数,其参数必须是明确的类型、整数或者变长参数。变长参数展开甚至能够递归。编译器

2、分支编译

模板结构体能够实现判断模板参数的类型来完成不一样的工做。在编程的时候,若是碰到相似“若是类型是A时进行a操做,若是类型是B进行b操做”的状况,说明能够使用模板特化了。模板

3、多态方法

模板特化能够实现对外统一的接口。但是内部实现却根据不一样的模板参数有不一样的实现。工作

相关文章
相关标签/搜索