一、什么是模板
模板是C++中自动生成代码的技术,例如我们在C++若想实现一个函数的形参可以是多种数据类型就必须使用重载,模板则可以更加简单方便地实现这一点。
二、为什么使用模板
假1如我们想实现一个通用的排序算法
C语言:通过回调函数实现,使用者调用麻烦。
C++语言:函数重载,需要为多种类型实现一个第一版本,还会导致代码段增加。
C/C++语言:借助宏函数实现,类型检查不严格,频繁使用还会增加代码段。
由于以上原因C++之父在C++中实现了模板技术,既能支持多种类也能兼顾严格的类型检查,能让程序员编程专注思考业务逻辑而不用关心数据类型。
三、函数模板
1、函数模板的定义:
解释:
template — 声明创建模板
typename — 表面其后面的符号是一种数据类型(虚拟type),可以用class代替
T — 通用的数据类型,名称可以替换,通常为大写字母
示例: