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)

相关推荐

  • vscode中如何配置并使用.vue代码模板

    技术vscode中如何配置并使用.vue代码模板本篇内容介绍了“vscode中如何配置并使用.vue代码模板”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

    攻略 2021年10月27日
  • jmeter接口怎么测试

    技术jmeter接口怎么测试这篇文章主要介绍“jmeter接口怎么测试”,在日常操作中,相信很多人在jmeter接口怎么测试问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jmeter接口怎

    攻略 2021年12月2日
  • JS 创建元素的三种方法

    技术JS 创建元素的三种方法 JS 创建元素的三种方法1、动态创建元素一 document.write()例如向页面中输出一个 li 标签pre class="html" name="code"span

    礼包 2021年11月14日
  • 怎么使用oracle索引监控

    技术怎么使用oracle索引监控这篇文章主要介绍“怎么使用oracle索引监控”,在日常操作中,相信很多人在怎么使用oracle索引监控问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使

    攻略 2021年11月10日
  • aabb形式,aabb形式有哪些词语

    技术aabb形式,aabb形式有哪些词语安安稳稳aabb形式、巴巴急、巴巴劫劫、巴巴结结、彬彬济济 半半拉拉、半半路路、炳炳烺烺、波波碌碌、病病歪歪 白白朱朱、啛啛喳喳、抽抽搭搭、吹吹打打、出出律律 楚楚谡谡、抽抽噎噎、

    生活 2021年10月26日
  • 抖音刷赞,免费刷抖音赞不要钱?

    技术抖音刷赞,免费刷抖音赞不要钱?相信大家都喜欢刷抖音、看抖音的习惯,仿佛都中了抖音的毒,戒也戒不掉,一天不看抖音总觉得少了什么,可是大家又知不知道,看抖音到底有哪些危害呢?今天小编就来给大家讲一讲,希望能给大家提个醒。

    测评 2021年11月10日