这里写目录标题
- 模板
- 特点
- 函数模版
- 语法
- 注意事项
- 二级目录
- 二级目录
- 二级目录
- 二级目录
- 二级目录
- 二级目录
- 二级目录
模板
特点
函数模版
语法
最上面一行是在声明 我要创建模板了 其中T可以替换 但是一般都用T 因为他是template的首字母
之后 进行函数定义与声明
使用背景:
当多个函数的形式一致时(如上图 两个函数的框架基本上一样 只是一些类型说明不一样) 就可以使用模板 提高代码的复用性
代码示例:
首先声明模版 并声明且定义函数模版 注意 这些声明都是在main函数外面 且typename可以用class替换
之后在调用函数时 有两种方式:
1、系统自动推导类型 ,直接传入实体变量 之后系统会根据实体变量的类型去推导T的类型
2、显示指定类型,直接在函数名后面加尖括号<数据类型> 在尖括号里声明数据类型即可
注意事项
对于自动类型推导 使用时必须是一致的数据类型 比如传参的时候 要传入数据类型一致的变量 否则会报错
当我们声明了模版并且声明了一个返回值是void且参数列表为空的函数的时候 即使整个函数没有用到T 那调用的时候也要显示出T的数据类型 此时不可以再使用自动类型推导 而是使用显示指定类型的方式 随便指定一种数据类型
!!!注意 一个模版声明只能对应一个函数 也就是有几个模版函数 那么就有几个模板声明 每个函数声明的上面都要声明模版