C++template之类模版进一步了解

前言:这一篇是在我的上一篇文章的基础上,再进一步所写的。

链接:C++Template<>模版的介绍及深度解析-CSDN博客

一、类模板实例化

        1.非类型模版参数

类型模版参数:就是跟在 class后面或者typename后的类型

非类型模版参数:用一个常量作为作为类(函数)模板的一个参数,在类中可以当作常量来用

2.函数模板的特化 

有时候我们使用类模板不一定能解决我们的需求,因此我们需要单独写一份来实现。

比如下面的代码:

我们想要比较1和2的大小,模版可以完成。

但是当我们传过去变量的地址去比较,这样就不对了。我们想要比较的是值的大小,而不是地址的大小。因此我们需要特化一份出来,实现这个功能。

函数特化的步骤:

1.首先要有类模板

2.关键字template后跟一对<>

3.函数名后面跟一对<>,其中放需要特化的类型

4.形参要和模版中一样

3.类模板特化

3.1全特化

全特化,就是里面的参数类型都是确定的

3.2偏特化

3.2.1部分特化

将参数表中的一部分参数特化

3.2.2对参数进一步限制

 偏特化并不仅仅是指特化部分参数,而是针对模板参数更进一步的条件限制所设计出来的一个特化版本。

将其特化为指针和引用:

二、注意事项

        1.类模板的定义和声明要在同一个文件,不然容易出错

具体的报错原理,可以自己去研究。涉及类模板的分离编译。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java NIO和IO之间的区别

前言 NIO&#xff08;New IO&#xff09;&#xff0c;这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的&#xff0c;但实现方式不同&#xff0c;NIO主要用到的是块&#xff0c;所以NIO的效率要比IO高很多。在Java API中提供了两套NIO&#xff0c;一套是针对标准输入输出…

WebPack的使用及属性配、打包资源

WebPack(静态模块打包工具)(webpack默认只识别js和json内容) WebPack的作用 把静态模块内容压缩、整合、转译等&#xff08;前端工程化&#xff09; 1️⃣把less/sass转成css代码 2️⃣把ES6降级成ES5 3️⃣支持多种模块文件类型&#xff0c;多种模块标准语法 export、export…

企业如何有效防止员工偷懒磨洋工?

在当今竞争激烈的商业环境中&#xff0c;企业要想保持竞争力和提高效益&#xff0c;就必须确保员工不偷懒不磨洋工。然而&#xff0c;要有效防止员工偷懒磨洋工并非易事&#xff0c;需要企业采取一系列措施来引导和监督员工的工作状态。 下面就分享三个有效防止员工偷懒磨洋工…

unity3d for web

时光噶然 一晃好多年过去了&#xff08;干了5年的u3d游戏&#xff09;&#xff0c;记得最后一次使用的版本好像是 unity 2017。 那个是 unity3d for webgl 还需要装个插件。用起来很蛋疼。 最近做一个小项目 在选择是用 Layabox 还是 cocosCreate 的时候 我想起了老战友 Uni…

DeepMind终结大模型幻觉?标注事实比人类靠谱、还便宜20倍,全开源

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源​ 发布在https://it.weoknow.com 更多资源欢迎关注 ​ DeepMind 这篇论文一出&#xff0c;人类标注者的饭碗也要被砸了吗&a…

警惕.360勒索病毒:如何预防.360勒索病毒攻击

导言&#xff1a; 在网络安全领域&#xff0c;勒索病毒是一种非常危险的恶意软件&#xff0c;它以其独特的加密方式和高昂的赎金要求&#xff0c;给个人和企业带来了严重的损失。.360勒索病毒便是其中之一&#xff0c;它属于BeijingCrypt勒索病毒家族&#xff0c;具有高度的隐…

2024 年广西职业院校技能大赛高职组《云计算应用》赛项样卷

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜…

iOS网络抓包工具全解析

摘要 本文将深入探讨iOS平台上常用的网络抓包工具&#xff0c;包括Charles、克魔助手、Thor和Http Catcher&#xff0c;以及通过SSH连接进行抓包的方法。此外&#xff0c;还介绍了克魔开发助手作为iOS应用开发的辅助工具&#xff0c;提供的全方面性能监控和调试功能。 在iOS应…

2024年妈妈杯数学建模思路A题B题C题D题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

AI预测福彩3D第20弹【2024年3月28日预测--第5套算法开始计算第2次测试】

今天&#xff0c;咱们继续进行本套算法的测试&#xff0c;今天为第二次测试&#xff0c;仍旧是采用冷温热趋势结合AI模型进行预测。好了&#xff0c;废话不多说了。直接上结果~ 仍旧是分为两个方案&#xff0c;1大1小。 经过人工神经网络计算并进行权重赋值打分后&#xff0c;3…

【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Networks

&#xff08;ELA&#xff09;Efficient Local Attention for Deep Convolutional Neural Networks 论文链接&#xff1a;ELA: Efficient Local Attention for Deep Convolutional Neural Networks (arxiv.org) 作者&#xff1a;Wei Xu, Yi Wan 单位&#xff1a;兰州大学信息…

【MySQL探索之旅】MySQL数据表的增删查改——约束

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

【学习】企业为什么要做信创适配性测试

信创产业的发展不仅关乎国家的信息安全和自主可控&#xff0c;也直接关系到经济社会的创新和转型升级。因此&#xff0c;国家积极出台了一系列支持政策&#xff0c;以促进信创产业的快速发展。在各项政策出台的推动下&#xff0c;信创产品已经成为越来越多企业和机构的首选。信…

骨传导耳机哪个牌子值得入手?公认口碑排行前5名,强烈推荐!

我作为一名数码达人&#xff0c;对各类数码产品都了解的比较多&#xff0c;最近也会被很多人询问关于骨传导耳机哪个牌子好&#xff0c;哪个牌子值得入手的问题&#xff0c;后面了解后发现很多人入手的骨传导耳机都是劣质产品&#xff0c;在使用中经常遇到各类问题&#xff0c;…

【Go】结构体中Tag标识

https://blog.csdn.net/weixin_45193103/article/details/123876319 https://blog.csdn.net/qq_49723651/article/details/122005291 https://juejin.cn/post/7005465902804123679 学一点&#xff0c;整一点&#xff0c;基本都是综合别人的&#xff0c;弄成我能理解的内容 Tag定…

【JavaSE】java刷题——基础语法熟练应用

前言 通过本篇题目&#xff0c;可以让初学Java的小伙伴们更加熟练Java的基础语法~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 题1&#xff1a;数字9 出现的次数 题述&#xff1a;编写程序数一下 1到 100 的所有整数中…

四平方和定理

四平方和定理&#xff1a;任意一个正整数都可以被表示为至多四个正整数的平方和。 更强的结论&#xff1a;当且仅当时&#xff0c;n可以被表示为至多三个正整数的平方和&#xff0c;因此&#xff0c;当时&#xff0c;n只能被表示为四个正整数的平方和。 如果 &#xff0c;这个时…

Leetcode - 周赛390

目录 一&#xff0c;3090. 每个字符最多出现两次的最长子字符串 二&#xff0c;3091. 执行操作使数据元素之和大于等于 K 三&#xff0c;3092. 最高频率的 ID 四&#xff0c;3093. 最长公共后缀查询 一&#xff0c;3090. 每个字符最多出现两次的最长子字符串 本题是一道标准…

JavaEE企业开发新技术4

2.16 模拟Spring IOC容器功能-1 2.17 模拟Spring IOC容器功能-2 什么是IOC&#xff1f; 控制反转&#xff0c;把对象创建和对象之间的调用过程交给Spring框架进行管理使用IOC的目的&#xff1a;为了耦合度降低 解释&#xff1a; 模仿 IOC容器的功能&#xff0c;我们利用 Map…

LeetCode 206.反转链表

给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3&#xff1a; …
最新文章