【C++】模板函数,函数模板,类模板,模板类?还在傻傻分不清楚?

本文揭示了类模板与模板类的区别,以及函数模板的实例化过程,展示了如何通过模板实现类的泛型编程和函数的多态性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板的相关定义

类模板,模板类

“类模板”:建立一个通用类,其数据成员、成员函数的返回值类型和形参类型不具体指定,用一个虚拟的类来代表。使用类模板定义对象时,系统会用实参的类型来取代类模板中虚拟类型,从而实现了不同类的功能

“模板类”:使用具体类型来定义类模板,创建出的具体类,叫做模板类

// 类模板:
template<typename T>
class List;

// 模板类:
List<int>;
List<double>;

函数模板,模板函数

“函数模板”:建立一个通用函数,支持多种不同的形参,把函数使用实参的数据类型作为参数类型

“模板函数”:函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个形参实例化为确定的数据类型。将类型形参实例化的参数成为模板实参,用模板实参实例化的函数称为模板函数

// 函数模板
// T:类型形参
template<typename T>
foo(T t);

// x 的类型是int,将T实例化为int
// x 是模板实参
// 用 x 实例化的foo称为模板函数,foo(x)
int x = 10;
foo(x);  

[总结]:xx模板——通用的 | 模板xx——具体的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值