C++基础:函数模板

news2024/10/7 13:22:30
为了代码重用,代码必须是通用的;通用的代码就必须不受数据类型的限制。那么我们可以把数据类型改为一个设计参数,这种类型的程序设计称为参数化程序设计,软件模板有模板构造,包括函数模板和类模板。

函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,简化重载函数的设计,函数模板的定义如下:

template<模板参数表>

返回类型 函数名 (形式参数表)

{

           .......;//函数体

}

<模板参数表>尖括号中不能为空,参数可以有多个,用逗号分开,模板参数主要是模板类型参数。

模板类型参数代表一种类型,由关键字class或typename(建议用typename)后加一个标识符构成,在这里两个关键字的意义相同,它们表示后面的参数名代表一个潜在的内置或用户设计类型。
如下所示:

template<typename T>   //class  typename
T Max(T a, T b)
{
	cout << "a type" << typeid(a).name() << endl;
	cout << "T type" << typeid(T).name() << endl;  //对类型进行识别
	return a > b ? a : b;
}


int main()
{
	cout << Max(12, 23) << endl;
	cout << Max('a','b') << endl;
	cout << Max(12.23,34.45) << endl;

}

  函数模板根据一组实际类型或值构造出独立的函数的过程通常是隐式发生的,称为模板实参推演。

template<typename T,int N>
void PrintAr(T (&br)[N])
{
	cout << sizeof(br) << endl;
}

int main()
{
	int ar[10] = { 1,2,3,4,5,6,7};
	double dx = {1.2,2.3,3.4,4.5,5.6};
	//typename +elemnum;
	PrintAr(ar);
	PrintAr(dx);
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享一下怎么做一个签到积分的微信小程序

在微信小程序中&#xff0c;签到积分功能是一种非常实用的功能&#xff0c;它可以帮助企业吸引用户&#xff0c;增加用户的忠诚度和活跃度。下面将介绍如何设计和实现一个签到积分的微信小程序。 一、设计页面 签到积分微信小程序的页面设计应该简洁明了&#xff0c;操作简单。…

error: the following arguments are required: --model, --data 解决方法

错误原因&#xff1a;Windows下需要缺乏配置参数&#xff0c;需要进行相关参数配置。 解决办法&#xff1a;在Pycharm的编辑设置&#xff0c;加上–model--model ****,其中****为指定的模型名称&#xff0c;按照自己实际报错进行添加&#xff0c;比如我这里要跑的模型为bert&am…

如何让元素在页面中完美居中?看这篇文章就够了!

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 ⭐ 专栏简介 &#x1f4d8; 文章引言 一…

Python爬虫防止被封的方法:动态代理ip

目录 前言 一、为什么需要使用动态IP代理 1.网站反爬虫机制 2.突破本地IP限制 3.获取更多数据 二、Python爬虫动态IP代理的实现方法 1.使用第三方库 2.使用爬虫框架 三、预防被封的方法 1.代理池管理 2.请求间隔设置 3.使用多个代理 总结 前言 在进行网站爬取时&…

四周年,创始人李亚飞写给 ShowMeBug 用户的一封信

见信如晤。 此刻&#xff0c;我心怀感激&#xff0c;感谢您对 ShowMeBug 的支持和鼓励。ShowMeBug 在这几年能够在剧烈竞争的环境中存活下来&#xff0c;证明了大家对我们的认可&#xff0c;在此由衷感谢大家。 今天我怀着前所未有的满足感&#xff0c;想分享下 ShowMeBug 成…

共享购模式:重新定义电商购物体验

在当今的电商市场&#xff0c;消费者对购物体验的需求日益增长&#xff0c;他们不再满足于传统的电商模式。为此&#xff0c;共享购模式应运而生&#xff0c;这种创新模式将线下实体商业与线上虚拟商城相结合&#xff0c;为用户带来全新的购物体验。本文将详细讲解共享购模式的…

Mac版好用的Git客户端 Fork 免激活

Fork是一款强大的Git客户端软件&#xff0c;在Mac和Windows操作系统上都可以使用。汇集了众多先进的功能和工具&#xff0c;可以帮助用户更方便地管理和控制Git仓库。 Fork的界面简洁直观&#xff0c;易于使用。它提供了许多高级的Git功能&#xff0c;如分支管理、合并、提交、…

基于机器视觉的手势检测和识别算法 计算机竞赛

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的手势检测与识别算法 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng…

双十一电视盒子哪个好?数码小编揭晓2023最新电视盒子品牌排行榜

很多消费者反馈电视盒子用不了多久就死机、卡顿&#xff0c;广告超级多&#xff0c;不知道双十一买电视盒子要怎么选择&#xff0c;电视盒子哪个好&#xff1f;小编今天来给大家揭晓一下业内最新发布的电视盒子品牌排行榜&#xff0c;看看入围的都有哪些&#xff1a; 一、泰捷W…

freeRTOS学习day3-任务的挂起和恢复

任务挂起函数 vTaskSuspend(Task1_Handler); 任务恢复函数 vTaskResume(Task1_Handler); 任务挂起后 进入就绪态 会停止运行 实验&#xff1a;创建三个任务 任务一打印 任务二打印 任务三控制任务一的挂起和恢复 #include "sys.h" #include "delay.h&quo…

2024线性代数复习——矩阵代数

相似矩阵&#xff1a;存在可逆矩阵 P P P&#xff0c;使得 P − 1 A P B P^{-1} A PB P−1APB&#xff0c;则称矩阵 A A A&#xff0c; B B B 相似&#xff0c;特征值相等。注意只有相似矩阵 B B B 是对角阵&#xff0c;我们才说它是可以相似对角化的。 A A A 可以相似对角…

渲染对电脑伤害多大?怎么避免对本地电脑的损害?

长时间的渲染会对电脑造成伤害吗&#xff1f;我相信这对于许多从事动画和效果图设计的人来说是一个担忧。本文将详细探讨渲染可能对电脑造成的潜在影响&#xff0c;并提供一些避免这些问题的方法。 1.渲染对电脑伤害多大&#xff1f; 我们都知道&#xff0c;在渲染项目时&…

职场必看!性能测试响应很慢怎么排查?

大多数的性能测试工作人员分为以下三个阶段&#xff1a; 1、出了问题看资源&#xff0c;资源占用如果很高&#xff0c;报以窃喜的心态&#xff0c;恩&#xff0c;发现了&#xff0c;原理是资源瓶颈。 2、资源没有出现瓶颈&#xff0c;通过一些技术手段分析&#xff0c;发现是…

解锁娜扎副驾,年轻人的第一台车就选哪吒AYA

最近“娜扎哪吒”的CP组合可谓刷屏汽车圈,一个是高颜值、有气质的当红演员,一个是有实力、有能力的低调“理工男”,哪吒汽车和娜扎的携手,让不少朋友情不自禁地嗑起了CP,也开始更关注哪吒汽车的产品。 除了刚刚发布的“大气舒适新标杆”哪吒X,入手门槛低、颜值够高、智能体验远…

什么是KEIL的微库(microlib)?

就是下面这个选项&#xff1a; Microlib是什么 Microlib也是一个C语言的库。它是为了小内存的嵌入式系统设计的&#xff0c;用于代替标准C语言库&#xff0c;但是Microlib对标准C语言库进行了裁剪和优化&#xff0c;因此并不完全兼容标准C语言库。Microlib相比于标准库&#x…

前端伪进度条实现(仿antd message使用react组件静态方法)

文章目录 背景实现方法(一) react组件静态方法(二) 通过静态方法改变组件的状态(三) 指定进度条的步幅规则(四) 成功和失败的状态改变1. 成功2. 失败 (五) 组件消失(六) 背景遮罩 最终实现及代码组件代码模拟调用进度条组件的代码 可能遇到的问题静态方法调不到/报错组件渲染两…

23款奔驰GLC260L升级原厂 360全景影像 新款透明底盘

360全景影像影像系统提升行车时的便利&#xff0c;不管是新手或是老司机都将是一个不错的配置&#xff0c;无论是在倒车&#xff0c;挪车以及拐弯转角的时候都能及时关注车辆所处的环境状况&#xff0c;避免盲区事故发生&#xff0c;提升行车出入安全性。Xjh15863 360全景影像…

【超参数研究01】使用网格搜索优化超参数

一、说明 在神经网络训练中&#xff0c;超参数也是需要优化的&#xff0c;然而在超参数较多&#xff08;大于3个&#xff09;后&#xff0c;如果用穷举的&#xff0c;或是通过经验约摸实现就显得费时费力&#xff0c;无论如何&#xff0c;这是需要研究、规范、整合的要点&#…

漏洞复现--用友U8-Cloud upload.jsp任意文件上传

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

分享一下怎么做多门店商城系统

随着互联网的快速发展&#xff0c;传统实体店面临着巨大的挑战。为了更好地适应市场变化&#xff0c;提高竞争力&#xff0c;多门店商城系统应运而生。这种新型的商业模式&#xff0c;旨在通过线上线下融合&#xff0c;实现门店之间的互联互通&#xff0c;提高运营效率&#xf…