c++提高篇——模板
admin
2024-01-30 16:51:38

一、模板的概念

模板就是建立通用的模具,大大提高复用性

二、模板语法

C++另一种编程思想称为泛型编程,主要利用的技术就是模板;C++提供两种模板机制:函数模板和类模板
函数模板作用:建立一个通用函数。其函数返回值类型和形参类型可以不具体制定,用一个虚教的类型来代表。
具体语法如下:

template 函数声明或定义

上述语法中:
template:代表声明创建模板
typename:表示其后面的符号是一种数据类型。可以用class代替
T:通用数类型,名称可以替换,通常为大写字母
我们在这里举一个例子:
当我们想要实现两个数进行交换我们需要定义我们要传入参数的数据类型,例如:

void swapint(int &a, int &b)
{int temp = a;a = b;b = temp;
}

但是当我们想要交换两个浮点数时,我们需要重新写一个函数:

//交换两个浮点型的函数
void swapDouble(double &a, double &b)
{double temp = a;a = b;b = temp;
}

当我们还想要交换其他类型的变量时,我们仍然需要重新写一个函数,这增加了我们的代码量,这是我们就可以用模板进行函数实现的统一,样例如下:

template
void MySwap(T &a, T &b)
{T temp = a;a = b;b = temp;
}

模板其实就是将函数传入的参数类型进行了参数化,方便我们在交换不同不变量时重复套用相同函数,极大减少了我们的代码量。
我们使用模板时,有两个方式:

int a = 10;int b = 20;//两种方式使用函数模板//1、自动类型推导MySwap(a, b);//2、显示指定类型MySwap(a, b);cout << "a = " << a << endl;cout << "b = " << b << endl;

一种是当调用该函数时,有模板自动推导其类型,另外一种是我们自己说明我们要传入的函数类型。

相关内容

热门资讯

“快点!我儿子出车祸了……” 转自:法治日报“快点!我儿子出车祸了,医院等着钱救命,这5万必须马上取出来!”12月9日下午4点,陕...
沛城科技IPO:人均创收下降为... Hehson财经上市公司研究院|财报鹰眼预警2025年12月23日,深圳市沛城电子科技股份有限公司(...
我国首条百万吨级近零碳钢铁产线... 12月23日消息,据中国宝武,我国首条百万吨级近零碳钢铁产线在湛江全线贯通,这标志着我国钢铁行业在绿...
禁军战斗力为何薄弱,北宋真的有... 禁军战斗力为何薄弱,北宋真的有80万禁军吗?下面趣历史小编为大家详细介绍一下相关内容。《水浒传》中每...
汉成帝为何无后的原因是什么 这... 还不知道:汉成帝为何无后的原因是什么的读者,下面趣历史小编就为大家带来详细介绍,接着往下看吧~一说到...