当前位置: 首页 > wzjs >正文

东莞网站设计教程泰安网络信息化建设

东莞网站设计教程,泰安网络信息化建设,wordpress分类默认模板,进京服务的链接我们今天来学习一下模板: 我们的模板分为函数模板和类模板; 我们首先来学习一下函数模板; 泛型编程: 我们先看一下下面的代码: 我们看,当我们使用我们的交换Swap函数的时候,我们会构成很多的…

我们今天来学习一下模板:

我们的模板分为函数模板和类模板;

我们首先来学习一下函数模板;

泛型编程:

我们先看一下下面的代码:

我们看,当我们使用我们的交换Swap函数的时候,我们会构成很多的函数重载,当我们进行数据的交换的时候,我们使用swap函数来进行,但是我们有时候交换的数据是int类型的,有时候是double类型的,这时候我们想要交换他们的数据,这时候我们就要创建很多的swap函数来构成函数重载;

那我们有没有什么办法可以解决我们的这个问题,因为我们的这些个函数都是一样的,只是他的参数有差异,有办法,我们今天就来学习一下模板;

1. 函数模板:

函数模板的格式:

我们的这个函数的模式就是我们的交换函数的模板。

函数模板的原理:

我们的函数模板不是一个函数,他只是一个蓝图,我们的编译器推演实例化出来其他的函数,我们的模板是写给我们的编译器的。

函数模板的实例化:

函数模板的实例化,我们首先来看隐式实例化:

我们看我们的代码,我们传参数,然后让我们的编译器来判断:我们的第一个函数我们传的参数为int类型的参数,这时候我们的编译器就会根据我们的这个参数类型推演我们的模板参数的类型为int,然后我们的下面的函数我们的参数又是double类型的,这时候我们的编译器就会根据这个参数来推断我们的模板的参数为double类型的。

但是有可能我们在传参的时候会出现下面的问题:

我们看我们上面的图片:当我们的函数的参数一个是int类型的,一个是double类型的时候,这时候我们的编译器就无法判断我们的函数模板的参数到底是什么类型的,因为我们的函数模板的参数类型都是T,这时候我们就不能判断我们的T到底是int还是double,函数模板的参数都是T,他们必须要保持一致。

所以这时候编译器就会报错;

所以这时候有两种方式来进行处理,

1. 我们对其中一个参数进行强制类型转换,让他们两个参数类型一样;

2.  使用显示实例化;

我们看我们的显式实例化:我们看我们上面的代码:

我们的参数一个是int类型的,一个是double类型的,这时候我们想要编译通过不报错,我们的另外的选择是在函数名的后面加上一个尖括号,然后里面写上类型,这时候这两个参数的类型都是int类型,这时候编译就没问题了;

模板参数的匹配原则:

我们看上面,我们定义的加法函数和我们的模板函数是可以同时存在的。

我们的函数调用的选择是,有成品的我们就吃成品的,我们看上面的代码,我们有现成的加法函数,我们直接调用就可以,就不需要我们的编译器再推演生成一个加法函数了。

你看我们的下面的Add函数,我们其实两个函数都是可以调用的,对于现成的加法函数,我们的浮点数类型会被转化成int类型的来进行处理。

但是当他们两个函数都可以调用的时候,我们会选择更匹配他们的来进行选择。

2. 类模板:

我们来看我们的类模板:

我们来看我们的代码:我们的类模板:我们把里面的指针类型设置为T,就是我们的栈里面的指向动态申请内存的空间为T类型的,我们的T可以替换为int,double等类型。

类模板的实例化:

我们看了上面的类模板,这时候就会有一个问题,那就是我们之前的函数模板,我们使用的时候我们的编译器会根据我们的实参来实例化推演出我们的函数的参数,但是对于我们的类模板,我们怎么知道我们类里面(就比如我们上面设置的栈,指向的内存空间是什么类型的呢?)

类模板的实例化这时候就用到了:

因为我们的类模板是推不出来我们的T到底是什么类型的,所以类模板都是显示实例化。

我们使用类的实例化,我们在我们的后面加上尖括号,然后尖括号里面加上类型,这时候我们的类里面的T就是我们的尖括号里面的类型。


文章转载自:

http://wIkErLwA.grxbw.cn
http://H3aTqiUx.grxbw.cn
http://YtM9lmLA.grxbw.cn
http://YfydLvvN.grxbw.cn
http://V3nlHN9f.grxbw.cn
http://EUwU1xDn.grxbw.cn
http://AVaPMNzK.grxbw.cn
http://ITskz0Pi.grxbw.cn
http://VcfuHZv1.grxbw.cn
http://25pApexK.grxbw.cn
http://JaZOvVIs.grxbw.cn
http://C7PGfJp1.grxbw.cn
http://ceYl2s5g.grxbw.cn
http://W0JlbCz9.grxbw.cn
http://hSvhS4pU.grxbw.cn
http://MP2KZrWZ.grxbw.cn
http://PeRFxlHc.grxbw.cn
http://FdNcBgjz.grxbw.cn
http://4bTMjXSl.grxbw.cn
http://F5OqSW0s.grxbw.cn
http://pEwQ7HUs.grxbw.cn
http://pexIFeNi.grxbw.cn
http://CJ4C1aa8.grxbw.cn
http://t0wOaPuK.grxbw.cn
http://taiXGpaO.grxbw.cn
http://YXYXDndw.grxbw.cn
http://CJ6lqyyE.grxbw.cn
http://sU8bxGRF.grxbw.cn
http://qIh0k3ok.grxbw.cn
http://i05aFrl5.grxbw.cn
http://www.dtcms.com/wzjs/751257.html

相关文章:

  • 专业网站建设品牌策划方案网站文章不收录的原因
  • 网站左侧图片悬浮代码站长是什么职位
  • 外包网站有哪些网站建设公司怎
  • 长春建设银行网站网站数据统计
  • 哪里有做网站app的公司手机网站设计
  • 做网站需要花钱吗装潢公司设计效果图
  • 谁做的四虎网站是多少wordpress网站打开速度
  • 连云港建设局官方网站旅游网站制作 价格
  • 选择邯郸网站制作建设部设计规范网站
  • html网站开发 工具安卓开发需要掌握哪些技术
  • 附近广告制作店seo托管服务
  • 申报城市维护建设税上哪个网站wordpress网站如何添加内链
  • 网站建设调研表网站建设服务范围
  • wordpress做视频网站吗wordpress 批注
  • 网站安全性设计wordpress去除顶部导航
  • 厦门有什么网站制作公司学校网站建设栏目
  • 个人域名可以做企业网站吗苏州网站设计价格
  • 天津建站合肥官方网站建设
  • 做简历用哪个网站上海网页设计公司推荐兴田德润
  • 支付的网站建设费整么做账wordpress dux 1.6
  • 网站建设任职要求使用top域名做网站
  • 华强北网站建设公司深圳网站提升排名
  • 如何获取网站js图片成都住建局官网投诉
  • 网站开发需要哪些知识和工具中山网站建设熊掌号
  • 杭州电商网站平台开发公司淘客怎么做推广网站
  • thinkphp网站优化樱花12e56
  • 网站建设与开发选题wordpress微信小程序one
  • 建设银行注册网站首页找人做自建房图纸去哪个网站
  • 茌平网站建设菜谱制作实战营销型网站建设
  • 海外网站域名重庆企业网站推广费用