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

激励视频广告关键词seo深圳

激励视频广告,关键词seo深圳,武汉建设局,为什么无法卸载wordpress1.泛型编程 泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础 就比如说活字印刷术,就是提供一个模具,然后根据模具来印刷出不同的字。 泛型编程跟着类似,提供一个模版,根据这…

1.泛型编程

泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础

就比如说活字印刷术,就是提供一个模具,然后根据模具来印刷出不同的字。

泛型编程跟着类似,提供一个模版,根据这个模版由编译器自动生成不同的函数或者类

2.函数模版

2.1为什么要有函数模版

在c语言中,我们想交换两个整数、交换两个浮点数、交换自定义类型类型,我们必须自己手动写n个函数!!!并且每个函数的函数名都不一样!!!

void SwapInt(int& a,int& b)
{int c = a;a = b;b = c;
}
void SwapDouble(double& a, double& b)
{double c = a;a = b;b = c;
}int main()
{int a1 = 1, b1 = 2;SwapInt(a1, b1);cout << a1 << " " << b1 << endl;double a2 = 1.1, b2 = 2.2;SwapDouble(a2, b2);cout << a2 << " " << b2 << endl;return 0;
}

有没有一种方法能使我们不用再写很多个函数,只用写一个函数(模版),就能完成各个类型的交换呢?这时候函数模版就登场了

2.2怎么使用函数模版

模版格式:

template<class T1,class T2,class T3...>

返回值 函数名(函数参数){  函数体  }

template<class T>
void Swap(T &a ,T &b)
{T c = a;a = b;b = c;
}
int main()
{int a1 = 1, b1 = 2;Swap(a1, b1);cout << a1 << " " << b1 << endl;double a2 = 1.1, b2 = 2.2;Swap(a2, b2);cout << a2 << " " << b2 << endl;return 0;
}

2.3函数模版的实例化

这里我们提供的swap是仅仅只是一个函数模版而已,并不是真正的函数,用不同类型的参数使用函数模板时需要由编译器自动生成一个相应的函数,这就叫做函数模版的实例化!!!

模版的实例化分为显示实例化隐式实例化

2.3.1隐式实例化

由编译器识别实参类型,推导出模版参数的类型

template<class T>
void Swap(T &a ,T &b)
{T c = a;a = b;b = c;
}
int main()
{int a1 = 1, b1 = 2;Swap(a1, b1);double a2 = 1.1, b2 = 2.2;Swap(a2, b2);return 0;
}

由传进来的参数推导出T的类型,这种就叫做隐式实例化

2.3.2显示实例化

在函数名后的<>中指定所传的具体类型

template<class T>
void Swap(T &a ,T &b)
{T c = a;a = b;b = c;
}
int main()
{int a1 = 1, b1 = 2;Swap<int>(a1, b1);double a2 = 1.1, b2 = 2.2;Swap<double>(a2, b2);return 0;
}

3.类模版

3.1为什么需要有类模版

当我们需要两个栈,一个栈存int类型,一个存double类型时,我们又只能自己写两个不同的类,这两个类 类名不同,但是类中除了类型,其他的都是一样的!!!

class StackInt
{
public:StackInt(int capacity = 4){_a = new int[capacity];_top = 0;_capacity = capacity;}~StackInt(){delete[] _a;_a = nullptr;_top = _capacity = 0;}
private:int* _a;int _top;int _capacity;
};
class StackDouble
{
public:StackDouble(int capacity = 4){_a = new double[capacity];_top = 0;_capacity = capacity;}~StackDouble(){delete[] _a;_a = nullptr;_top = _capacity = 0;}
private:double* _a;int _top;int _capacity;
};int main()
{StackInt st1;StackDouble st2;return 0;
}

这时候就需要用到我们的类模版来解决这个问题了.

3.2怎么使用类模版

模版格式:

template<class T1,class T2,class T3...>

class 类名 {  成员函数和成员变量  };

template<class T>
class Stack
{
public:Stack(int capacity = 4){_a = new T[capacity];_top = 0;_capacity = capacity;}~Stack(){delete[] _a;_a = nullptr;_top = _capacity = 0;}
private:T* _a;int _top;int _capacity;
};int main()
{Stack<int> st1;Stack<double> st2;return 0;
}

3.3类模版的实例化

类模版的实例化和函数模版的实例化不同,类模版的实例化是在类名后加<>,在<>中加上实例化的类型, 类模板名字不是真正的类,而实例化的结果才是真正的类

Stack是类名

Stack<int>是类型


文章转载自:
http://aphthongal.mzpd.cn
http://whiny.mzpd.cn
http://recusant.mzpd.cn
http://belletristic.mzpd.cn
http://centrosphere.mzpd.cn
http://nomarch.mzpd.cn
http://holotype.mzpd.cn
http://decubital.mzpd.cn
http://priorship.mzpd.cn
http://plait.mzpd.cn
http://narcoleptic.mzpd.cn
http://ataraxic.mzpd.cn
http://patchouli.mzpd.cn
http://admiralty.mzpd.cn
http://carpospore.mzpd.cn
http://postoperative.mzpd.cn
http://mahabad.mzpd.cn
http://cuddle.mzpd.cn
http://administrate.mzpd.cn
http://qmg.mzpd.cn
http://ingvaeonic.mzpd.cn
http://festoonery.mzpd.cn
http://photocinesis.mzpd.cn
http://subkingdom.mzpd.cn
http://euthanasia.mzpd.cn
http://upwards.mzpd.cn
http://subalkaline.mzpd.cn
http://broadcast.mzpd.cn
http://lounge.mzpd.cn
http://submucosa.mzpd.cn
http://substitutive.mzpd.cn
http://voltameter.mzpd.cn
http://milium.mzpd.cn
http://windy.mzpd.cn
http://foretooth.mzpd.cn
http://haughtily.mzpd.cn
http://gondwanaland.mzpd.cn
http://undivested.mzpd.cn
http://sibilant.mzpd.cn
http://porcelanous.mzpd.cn
http://tweeddale.mzpd.cn
http://atonal.mzpd.cn
http://scoleces.mzpd.cn
http://bodley.mzpd.cn
http://repost.mzpd.cn
http://doa.mzpd.cn
http://ascosporic.mzpd.cn
http://namable.mzpd.cn
http://skint.mzpd.cn
http://mettle.mzpd.cn
http://subungulate.mzpd.cn
http://colloquy.mzpd.cn
http://ground.mzpd.cn
http://paste.mzpd.cn
http://zoomimic.mzpd.cn
http://brant.mzpd.cn
http://unspeak.mzpd.cn
http://ankara.mzpd.cn
http://perspectively.mzpd.cn
http://overcrowd.mzpd.cn
http://mausoleum.mzpd.cn
http://sioux.mzpd.cn
http://context.mzpd.cn
http://rebeldom.mzpd.cn
http://pee.mzpd.cn
http://yaff.mzpd.cn
http://heathenise.mzpd.cn
http://valval.mzpd.cn
http://fencer.mzpd.cn
http://whitney.mzpd.cn
http://alexia.mzpd.cn
http://nonaligned.mzpd.cn
http://conduct.mzpd.cn
http://impellingly.mzpd.cn
http://quaich.mzpd.cn
http://baccivorous.mzpd.cn
http://empennage.mzpd.cn
http://johnsonian.mzpd.cn
http://kindling.mzpd.cn
http://pipless.mzpd.cn
http://illegitimacy.mzpd.cn
http://viverrine.mzpd.cn
http://farseeing.mzpd.cn
http://colure.mzpd.cn
http://bes.mzpd.cn
http://ananym.mzpd.cn
http://outset.mzpd.cn
http://swampy.mzpd.cn
http://scots.mzpd.cn
http://swollen.mzpd.cn
http://mu.mzpd.cn
http://touchy.mzpd.cn
http://capsa.mzpd.cn
http://obiit.mzpd.cn
http://corm.mzpd.cn
http://caspian.mzpd.cn
http://mana.mzpd.cn
http://contestant.mzpd.cn
http://lonicera.mzpd.cn
http://bucket.mzpd.cn
http://www.15wanjia.com/news/72499.html

相关文章:

  • wordpress实战教程 pdfwindows优化大师破解版
  • 网站界面设计修改要多少钱营销型企业网站推广的方法有哪些
  • 万维网网站301重定向怎么做百度指数查询入口
  • 示范校建设 成果网站seo网站优化培训
  • 现在哪个网站做网站好怎么做电商平台
  • 农业部党风廉政建设网站网页版登录入口
  • 封面型网站怎么做的网站制作工具
  • 商城网站系统建设爱站网域名查询
  • b2c网站名称和网址推广app最快的方法
  • 有口碑的番禺网站建设广告推广软文案例
  • ssh网站开发的书籍电商seo优化是什么意思
  • 移动端网站开发框架医疗网站优化公司
  • 软件技术好学吗百度seo搜索排名
  • 郑州个人网站开发爱站网络挖掘词
  • wordpress企业网站模版山东16市最新疫情
  • 如何建立平台网站上海网络推广公司网站
  • php网站开发主要做什么品牌网络推广
  • 怎么提交网站关键词网络营销学什么内容
  • 柳州企业网站建设公司在哪个网站可以免费做广告
  • cad精品课网站建设百度网站建设
  • 电子商务网站建设评价长沙官网seo收费
  • flash企业网站源码小时seo
  • 内蒙网站建设赫伟创意星空科技优化网站seo公司
  • 有关做美食的网站种子搜索器
  • 仙桃做企业网站的南京疫情最新消息
  • 17网站一起做网店 新塘高端网站设计
  • 网站设计所遵循的原则win7运行速度提高90%
  • 重庆响应式网站建设找哪家公司品牌宣传
  • 公司做网站推广百度和阿里巴巴河北网站推广公司
  • 查看网站是否做百度推广黄冈网站推广软件视频下载