14/11
2022-04-09 本文已影响0人
hannah1123
类模板具体化:
定义:编译器使用模板生成特定类型的类对象;
1.隐式实例化
第一步:是隐式实例化;
第二步:创建指针时还没完成实例化,当new时完成隐式实例化创建
即:隐式实例化意思是:要去餐厅吃饭前,先告诉餐厅把我要吃的菜单,餐厅先准备好食材(内存)
举例:
2.显式实例化
定义:即使没有创建具体对象,编译器也会在内存开辟空间存放指定的类。
即:显式具体化:你去餐厅吃饭,提前打电话让餐厅做好饭并摆好桌,随时到随时可以吃那种,速度快,但提前消耗资源
举例:
3.显式具体化(为特定类型定义模板)
对于已经有模板类,对于某些不同类型目前该模板类实现部分不能满足需求,想重新修改模板实现。即:模板类特殊情况特殊处理
举例:
对于int,int 类型的调用该处处理。
注:<>中填的是不需要特殊处理类型如<class t1>此时和部分具体化一样,此处我们两个class 都想是int,故啥也不写
4.部分具体化