c++面试题(c++和Python哪个好)

技术如何进行C++模板显式具体化的分析如何进行C++模板显式具体化的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。模板函数虽然非常好用,但是也存在一些问

我相信很多没有经验的人对于如何分析C模板的显式具体化是无能为力的。为此,本文总结了问题产生的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

模板功能虽然很有用,但也存在一些问题。例如,有些操作并不适合所有类型。针对这种情况,C提供了一种解决方案,即为特定类型提供具体的模板定义。这里的具体性可以理解为类型的具体性。

我们来看一个C++ Primer当中的例子,假设现在我们有一个结构体叫做job:

structjob{

stringname

双倍工资;

intfloor

}可以作为一个整体赋给结构,所以前面的Swap函数同样适用于它。

templatetypenameT

空隙交换(Ta,Tb){ 0

ttemp=a;

a=b;

b=温度;

}但现在我们希望在交换结构时,只交换薪资和楼层字段,名称不变。因为我们要引入逻辑变化,所以直接调用Swap函数是不可行的。

当然我们可以不用函数模板,直接重载函数:

无效交换(joba,jobb){ 0

//swap是std的交换函数,在算法头文件中。

互换(a .薪水,b .薪水);

互换(a.floor,b . floor);

}因为C规定非函数模板的优先级高于函数模板,所以我们在作业结构上调用Swap函数时会优先考虑这一点。

除此之外,我们还可以提供一个具体化的模板函数:

templatevoitswapjob(joba,jobb){ 0

互换(a .薪水,b .薪水);

互换(a.floor,b . floor);

}这个函数的写法好像有点特别。我们在函数类型之前添加了模板,并在函数名称之后跟随作业。意味着这是一个功能模板的明确体现,也可以理解为为之前的功能模板提供了一个作业类型的版本。c规定显式模板函数比普通模板函数具有更高的优先级。

看完以上内容,你掌握了如何分析C模板的显式具体化了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151262.html

(0)

相关推荐

  • 复印身份证正反面步骤,复印机如何复印身份证正反面

    技术复印身份证正反面步骤,复印机如何复印身份证正反面复印机复印身份证正反面的操作步骤(以带有身份证复印功能的复印机举例):1、打开复印机盖子后将身份证放入并盖上;2、选择【身份证双面复印】选项复印身份证正反面步骤,并按下

    生活 2021年11月1日
  • 80创业,80年代后应该如何创业

    技术80创业,80年代后应该如何创业如今的80后有着自己独特的创业方式80创业,但无论何种方式都不能脱离脚踏实地。创业对于80后来说是一次人生的转折,是一次新的选择,所以要谨慎,更要去坚持。
    第一条,确定方向
    方向不是目

    生活 2021年10月27日
  • 鲫鱼的做法大全家常菜,鲫鱼怎么做好吃

    技术鲫鱼的做法大全家常菜,鲫鱼怎么做好吃鲫鱼豆腐汤鲫鱼的做法大全家常菜:材料:
    鲫鱼1条、豆腐1盒、姜3片、葱3段、油、盐、胡椒、料酒、鸡精做法:
    1、鲫鱼开膛去内脏,去鳞去鳃(鱼档工作人员完成),洗净,抹干,用盐和

    生活 2021年10月20日
  • 神舟笔记本,神舟的笔记本电脑 怎么样

    技术神舟笔记本,神舟的笔记本电脑 怎么样与其他品牌相比较,性价比是很高的,只不过在某些方面有些欠缺,不过在近期上市的产品在逐渐完善神舟笔记本。 目前神舟主打笔记本品牌有神舟优雅以及神舟精盾系列笔记本,对于神舟笔记本的评价

    生活 2021年10月27日
  • 分数解方程,5年级分数解方程该怎样做

    技术分数解方程,5年级分数解方程该怎样做一分数解方程、可以根据等式的性质来解方程。1.等式性质一:等式两边都加上(或减去)同一个数,等式仍然成立。比如: x+5=15
    解:x+5 —5=15—5
    x=10
    2.等式性质

    生活 2021年10月29日
  • Ubuntu 16.04如何安装Kinetic

    技术Ubuntu 16.04如何安装Kinetic这篇文章将为大家详细讲解有关Ubuntu 16.04如何安装Kinetic,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、配置软件源

    攻略 2021年11月15日