模板函数 模板类

这里fun就是模板函数 ,每次调用fun函数时 ,就会生成一个fun 函数 ,t就是传的参数 。 所以这里的fun只是模板

会根据传参不同生成不同的fun函数

示例如下

 

如果模板是T*类型的

 这里fun明确要一个指针 ,不能推演整形。这里就形成了部分特指

 

模板为引用时

 

 这里是推演不了的 ,因为x y地址是个常量 ,不能改变 ,所以t要推演成常性的指针 ,但系统推演不了这种模板。

模板函数的重载

类模板

 

 这里和类函数一样  , 传不同的类型会生成不同的参数

 这里是传两个参数 ,一个是类型 ,一个是值 ,这里的N类似于我们的宏定义 ,在底下会直接进行替换。   如果我们传的类型相同而N不同 ,那么也是生成的不同类型的类

         这里是为了演示 N的替换。  如果我们这里不调用push函数是不会报错的 。但如果我们调用push函数  ,会产生错误 ,因为N已经被替换了  ,左值不能为常量。

 这里要的是一个类型 ,和一个模板类。

比如我们定义 一个模板类

 可以直接传进去  。 

但这里的模板类不能生成类型 ,如果生成了类型就是一个具体类 而不是模板类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值