模板template

template <class T>

这是模板头,不管是函数模板还是类模板,函数模板头是必须的,T是一个替代符,用来表示一个类型,可以是标准的内置类型,也可以是自定义类型。

具体选用什么样的类型实在编译阶段确定的,不会影响运行时的效率。


函数模板

比较两个数的大小的函数模板

T max(const T & input1, const T & input2)

{

    return ((input1 > input2) ? input1 : input2);

}


类模板

简单的容器类模板

template <class T>

class CVector

{

    ...

public :

    int push_back(const T & element);

    int pop_back(const T & element);

    ...

};

CVector <TypeName> TypeList;

TypeList.push_back(element);

TypeList.pop_back(element);


注意:

类模板在使用时需要特例化,告诉编译器使用什么样的类型实现;

函数模板也需要特例化,但是这个特例化是隐士的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值