以下文章不重要,看我名字,你懂的
template 是 c++ 适当重要的组成部分,可谓 c++语言的一大利器。在大大小小的 c++ 程序中,模板无处不在。c++ templates 作为模板学习的经典书本,向来被无数 c++学习者所推崇。第二版书本覆盖了 c++ 11 14 和 17 标准,值得程序猿们精读学习,特此收拾学习笔记,将每一部分自认为较为重要的部分逐条陈列,并对少量错误代码进行修改
一、函数模板
1.1 函数模板初探
1.模板实例化时,模板实参有必要支撑模板中类型对应的所有运算符操作。
2.模板编译时会进行两阶段查看
a.模板界说时,进行和类型参数无关的查看,如未界说的符号等。
b.模板实例化时,进行类型参数相关的查看。
3.根据两阶段查看,模板在实例化时要看到完整界说,最简单的方法是将完成放在头文件中。
1.2 模板参数揣度
1.函数模板的模板参数能够经过传递的函数参数进行揣度。
2.函数揣度时会用到参数类型转化,规矩如下:
a.假如函数参数是按引证传递的,任何类型转化都不被答应。(此处有疑问,const 转化还是能够的)
b.假如函数参数是按值传递的,能够进行退化(decay)转化ÿ