精进C++进行中

14/11

2022-04-09  本文已影响0人  hannah1123

类模板具体化:

  定义:编译器使用模板生成特定类型的类对象;

1.隐式实例化

第一步:是隐式实例化;

第二步:创建指针时还没完成实例化,当new时完成隐式实例化创建

即:隐式实例化意思是:要去餐厅吃饭前,先告诉餐厅把我要吃的菜单,餐厅先准备好食材(内存)

举例:

2.显式实例化

  定义:即使没有创建具体对象,编译器也会在内存开辟空间存放指定的类。

即:显式具体化:你去餐厅吃饭,提前打电话让餐厅做好饭并摆好桌,随时到随时可以吃那种,速度快,但提前消耗资源

  举例:

3.显式具体化(为特定类型定义模板)

对于已经有模板类,对于某些不同类型目前该模板类实现部分不能满足需求,想重新修改模板实现。即:模板类特殊情况特殊处理

举例:

 

对于int,int 类型的调用该处处理。

注:<>中填的是不需要特殊处理类型如<class t1>此时和部分具体化一样,此处我们两个class 都想是int,故啥也不写

4.部分具体化

上一篇下一篇

猜你喜欢

热点阅读