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)

相关推荐

  • Java基础篇之如何使用日期与时间API技术

    技术Java基础篇之如何使用日期与时间API技术这篇文章主要介绍“Java基础篇之如何使用日期与时间API技术”,在日常操作中,相信很多人在Java基础篇之如何使用日期与时间API技术问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年10月19日
  • Python怎么爬取当当网APP数据

    技术Python怎么爬取当当网APP数据本篇文章给大家分享的是有关Python怎么爬取当当网APP数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目标场景

    攻略 2021年10月26日
  • 《Unix/Linux系统编程》第六章学习笔记

    技术《Unix/Linux系统编程》第六章学习笔记 《Unix/Linux系统编程》第六章学习笔记信号和信号处理
    摘要
    本章讲述了信号和信号处理;介绍了信号和中断的统一处理,有助于从正确的角度看待信号;

    礼包 2021年11月13日
  • Flex布局新旧混合写法分析

    技术Flex布局新旧混合写法分析本篇内容主要讲解“Flex布局新旧混合写法分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flex布局新旧混合写法分析”吧!旧语法篇定义容器

    攻略 2021年11月15日
  • audit审计什么意思(audit审计数据库)

    技术audit审计方法是什么本篇内容介绍了“audit审计方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! au

    攻略 2021年12月22日
  • 叶黄素对眼睛的作用,叶黄素对眼睛有什么好处

    技术叶黄素对眼睛的作用,叶黄素对眼睛有什么好处叶黄素具有保护视力、缓解视疲劳、增进视觉的功效,可用于辅助治疗和预防眼部的黄斑变性及白内障叶黄素对眼睛的作用。补充叶黄素,有助于维护视力持久度、提高视觉反应时间、减少视觉伤害

    生活 2021年10月20日