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

做个电商网站浮山网站建设

做个电商网站,浮山网站建设,网站建设课程的认识,网页编辑实训报告一、泛型编程 为了实现一个通用的函数#xff0c;在此之前#xff0c;我们学过函数重载#xff0c;使用函数重载虽然可以实现#xff0c;但是有一下几个不好的地方#xff1a; 1. 重载的函数仅仅是类型不同#xff0c;代码复用率比较低#xff0c;只要有新类型出现时在此之前我们学过函数重载使用函数重载虽然可以实现但是有一下几个不好的地方 1. 重载的函数仅仅是类型不同代码复用率比较低只要有新类型出现时就需要用户自己增 加对应的函数 2. 代码的可维护性比较低一个出错可能所有的重载均出错。 所以在这我们需要学习一个新的内容。 泛型编程是一种通过编写与具体数据类型无关的代码以实现代码重用的编程范式。编写与类型无关的通用代码是代码复用的一种手段。模板是泛型编程的基础。 而模版分为函数模版和类模版。 二、函数模板 1、函数模板概念 函数模板代表了一个函数家族该函数模板与类型无关在使用时被参数化根据实参类型产生 函数的特定类型版本。 2、函数模板格式  template 返回值类型 函数名(参数列表){} 例如在这我们实现一个内容交换的函数 templatetypename T void Swap(T p1, T p2) {T tmp p1;p1 p2;p2 tmp; } 注意typename是用来定义模板参数关键字也可以使用class(切记不能使用struct代替 class)         3、函数模板的原理 函数模板是一个蓝图它本身并不是函数是编译器用使用方式产生特定具体类型函数的模具。 所以其实模板就是将本来应该我们做的重复的事情交给了编译器。 在编译器编译阶段对于模板函数的使用编译器需要根据传入的实参类型来推演生成对应 类型的函数以供调用。比如当用double类型使用函数模板时编译器通过对实参类型的推演 将T确定为double类型然后产生一份专门处理double类型的代码对于字符类型也是如此。 4、函数模板的实例化 用不同类型的参数使用函数模板时称为函数模板的实例化。模板参数实例化分为隐式实例化 和显式实例化 1. 隐式实例化让编译器根据实参推演模板参数的实际类型 templatetypename A A Add(A a, A b) {return a b; } int main() {int a1 10, a2 20;double d1 10.0, d2 20.0;cout Add(a1, a2) endl;;cout Add(d1, d2) endl;//但注意在模板中编译器一般不会进行类型转换操作因为一旦转化出问题编译器就需要//背黑锅//cout Add(a1, d2) endl;// 此时有两种处理方式1. 用户自己来强制转化 2. 使用显式实例化//1、Add(a1, (int)d2);return 0; } 2、显式实例化在函数名后的中指定模板参数的实际类型 templatetypename A A Add(A a, A b) {return a b; } int main() {int a1 10, a2 20;double d1 10.0, d2 20.0;cout Add(a1, a2) endl;;cout Add(d1, d2) endl;//但注意在模板中编译器一般不会进行类型转换操作因为一旦转化出问题编译器就需要//背黑锅//cout Add(a1, d2) endl;// 此时有两种处理方式1. 用户自己来强制转化 2. 使用显式实例化//1、Add(a1, (int)d2);//2、Addint(a1, d1);return 0; }如果类型不匹配编译器会尝试进行隐式类型转换如果无法转换成功编译器将会报错。 5、模板参数的匹配原则 1. 一个非模板函数可以和一个同名的函数模板同时存在而且该函数模板还可以被实例化为这 个非模板函数 2、对于非模板函数和同名函数模板如果其他条件都相同在调动时会优先调用非模板函数而不会从该模板产生出一个实例。如果模板可以产生一个具有更好匹配的函数 那么将选择模板 3. 模板函数不允许自动类型转换但普通函数可以进行自动类型转换 三、类模板 1、类模板的定义格式 template class 类模板名 { // 类内成员定义 }; templatetypename T class 类模板名 { // 类内成员定义 };模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误 2、类模板的实例化 类模板实例化与函数模板实例化不同类模板实例化需要在类模板名字后跟然后将实例化的 类型放在中即可类模板名字不是真正的类而实例化的结果才是真正的类。 // Stack是类名Stackint才是类型 Stackint st1; // int Stackdouble st2; // double
http://www.tj-hxxt.cn/news/231501.html

相关文章:

  • 制定网站推广方案类似携程网的网站
  • 建设银行网站用户权限广州软件开发培训机构有哪些
  • html5 网站开发实战小学生手工
  • 企业商务网站的技术网站o2o
  • 动漫网站开发优势网址域名
  • 经典的企业网站wordpress esc attr
  • 男女做污的事情网站视频1688官网app下载
  • 新手小白如何互联网创业河源市seo网站设计
  • 做论坛网站多少钱送菜网站制作
  • 免费vip电影网站怎么做松江专业做网站公司
  • 建设网站需要什么网站设计制作 一年价格
  • 做网站的客户资料交换qq群网站建设太仓
  • 什么叫静态网站帮忙建站的公司
  • 镇江建设银行网站彩票网站的建设
  • 超星网站开发实战答案河北网站建设中心
  • 网站站点多少钱网络设计案例题
  • 网站建设 中关村做网站大概费用
  • 天地做网站网站开发制作公司名称
  • 天津做不锈钢的网站中国网站设计师联盟
  • 在线ps网站怎么让关键词快速排名首页
  • vps网站压缩建设企业网站的时间
  • 规避电子政务门户网站建设的教训卢松松wordpress博客
  • ps怎么做网站一站式服务大厅
  • 营销型 展示类网站企业形象网站策划方案
  • dw做网站首页怎么做手机制作
  • 建设网站模板南京设计网页公司
  • 弹幕网站用什么做通化好的网站建设的公司
  • 亚马逊备案网站建设网站建设包括两个方面
  • 1元购网站怎么做网站建设及推广培训班
  • 怎么样再自己的网站做二级域名wordpress怎么加幻灯片