C++之模板

 

一、函数模板

1.基本概念

 

2.变量作为模板参数

 

3.多参数函数模板

 

4.函数模板与重载

 

注意:

<1> 相同模板

实例化出的模板函数之间形成重载

 

<2>不同模板

注意:

在定义出函数模板的时候,函数模板本身并不是互相重载的关系,因为内存中没有产生任何代码,

只有去使用函数模板时,编译器才会产生出相应的函数代码来,这些函数代码彼此之间才称得上是重载关系。

【在定义函数模板时,函数模板本身并不构成重载,因为仅仅将函数模板定义出来并不能在内存当中产生任何的代码,

只有去使用它的时候,编译器才会产生出相应的函数代码,这些代码才会体现出彼此之间的重载关系。】

 

5.补充说明

<1>《函数模板》课程评论:

1) 函数模板本身不会在内存中产生代码, 因为没有模板参数就无从知道要合成怎样的函数

2) 模板参数可以是类型, 变量(编译时实际上是常量), 或多个类型和变量的组合

3) 同一个函数模板的不同的模板函数之间可以看作互为重载

4) 函数名称相同但模板参数或函数参数不同的来自不同函数模板的模板函数之间也可以互为重载

 

<2> 注意:

1)模板参数的定义建议使用typename;

2)变量做模板参数,实例化模板传入数据时,变量就变成了常量,(因此没必要用来做函数形参??可以做函数形参,能成功运行,但没必要,浪费开销)

 

二、类模板

1.基本概念

 

2.多个参数的类模板

 

3.特别提醒

 

转载于:https://www.cnblogs.com/Tang-tangt/p/9678333.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值