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

北京app网站开发做一个电子商务网站

北京app网站开发,做一个电子商务网站,选择佛山顺德网站设计,seo的流程是怎么样的目录 1.泛型编程 2.函数模板 2.1函数模板的定义格式 2.2函数模板的实例化 2.3函数模板参数的匹配原则 3.类模板 3.1类模板的定义格式 3.2类模板的实例化 3.3模板的分离编译 1.泛型编程 泛型编程#xff1a;编写与类型无关的通用代码#xff0c;是代码复用的一种手段…目录 1.泛型编程 2.函数模板 2.1函数模板的定义格式 2.2函数模板的实例化 2.3函数模板参数的匹配原则 3.类模板 3.1类模板的定义格式 3.2类模板的实例化 3.3模板的分离编译  1.泛型编程 泛型编程编写与类型无关的通用代码是代码复用的一种手段模板是泛型编程的基础 为什么存在泛型编程 我们之前实现过交换两个整型的函数如下 但是要实现交换两个浮点型数据时swap函数就不可用了 我们需要再编写交换两个浮点型的swap函数  但是这样就造成了大量的代码重复因为这两个swap函数只有参数的类型不同 解决方案 1️⃣函数重载 重载的函数仅仅是类型不同代码复用率比较低只要有新的类型出现时仍需要用户自己增加对应的函数代码的可维护性比较低一个出错可能所有的重载出错 2️⃣泛型编程 给编译器一个模板让编译器根据不同的类型由该模板生成代码 2.函数模板 2.1函数模板的定义格式 函数模板代表了一个函数家族该函数模板与类型无关在使用时被参数化根据实参类型产生函数的特定类型版本 函数模板格式 templatetypename T1, typename T2, ..... , typename Tn 返回值类型 函数名参数列表{ } Note typename是用来定义模板参数的关键字也可以使用class但不能使用struct代替class 2.2函数模板的实例化 函数模板是一个蓝图它本身并不是函数是编译器用使用方式产生特定具体类型函数的模具。模板就是将本来应该我们做的重复的事情交给给了编译器 在编译器编译阶段编译器需要根据传入实参类型来推演生成对应类型的函数以供调用。如上例中当使用char类型使用函数模板时编译器通过对实参类型的推演将T确定为char类型然后产生一份专门处理char类型的代码对于int和float类型同理 用不同类型的参数使用函数模板称为函数模板的实例化。 函数模板的实例化分类 隐式实例化让编译器根据实参推演函数模板参数的实际类型显式实例化在函数名后的中指定模板参数的实际类型 如上图Add(a1, b1)该语句编译不能通过当编译器推演其实参类型时首先通过实参a1将T推演为int通过实参b1将T推演为double但是模板参数列表中只要一个T编译器无法确定此处T的具体类型因此报错 Note 在模板实例化时编译器一般不会进行类型转换操作 解决方案 用户自己强制转换Add(a1,(int) b1)使用显式实例化模板参数定义类型 2.3函数模板参数的匹配原则 1️⃣一个非模板函数可以和一个同名的函数模板同时存在而且该函数模板还可以被实例化为这个非模板函数 2️⃣对于非模板函数和同名函数模板如果其他条件都相同在调用时会优先调用非模板函数而不是从该模板实例化一个函数。如果模板可以产生一个具有更好匹配的函数那么将选择模板 3️⃣模板函数不允许自动类型转换但普通函数可以进行自动类型转换 3.类模板 3.1类模板的定义格式 类模板格式 templateclass T1,class T2, ..... , class Tn class 类模板名 {         //类内成员定义 } //动态顺序表的类模板 templateclass T class Vector { public://构造函数Vector(size_t capacity 10):_pDate(new T[capacity]), _size(0), _capacity(10){}//析构函数在类中声明类外定义~Vector();//void PushBack(const T data);//void PopBack();size_t Size(){return _size;}//运算符[]重载//定义成内联函数提高效率inline T operator[](size_t pos){assert(pos _size);return _pDate[pos];}private:T* _pDate;size_t _size;size_t _capacity; }; //类外定义成员函数:需要加模板参数列表 template class T VectorT::~Vector() {if (_pDate){delete[] _pDate;}_size _capacity 0; } 3.2类模板的实例化 类模板实例化和函数模板实例化不同类模板实例化需要在类模板名字后跟然后将实例化的类型放在中即可类模板的名字不是真正的类而实例化的结果才是真正的类 int main() {//Vector类名Vectorint s1才是类型Vectorint s1;Vectordouble s2;return 0; } 3.3模板的分离编译  模板不支持分离编译会产生链接错误 解决方案 显式实例化 在定义的地方指定是模板 不分离定义到.h和.cpp中 把类模板定义到.h文件中包括声明和定义实例化后编译就知道函数的地址不需要链接去符号表中去找函数的地址
http://www.dnsts.com.cn/news/59783.html

相关文章:

  • 免费网站开发模板表白网站在线生成
  • 怎么把网站源码上传到空间根目录视频网站导航栏垂直
  • 大良手机网站建设wordpress首页显示友链
  • 做购物网站开发价格合肥新房在售楼盘
  • 国外设计网站pinterest设计网址中建西部建设西南有限公司网站
  • 不需要验证码的注册网站旅游网站首页模板
  • wordpress 防刷新网站性能优化
  • 网站构成有口碑的app制作
  • 电子烟网站设计专业的龙岗网站建设
  • 网站上的通话功能怎么做宁波网站建设
  • 这个网站的建设流程网站备案完成后不解析
  • 用vue做网站的实例网站建设接活
  • 青岛网站制作计划济南建设工程备案网站
  • 小程序免费制作平台有哪些seo到底是做什么的
  • 网站的分类有哪些内容百度推广登录网址
  • 网站彩票怎么做长沙装修公司前十强
  • 目前网页设计工资多少自己的网站怎么做关键词优化
  • 乐清做网站公司哪家好优良的定制网站建设
  • 满山红厦门网站建设优化大师app下载
  • 网站备案成功造价材料价格信息网
  • 建设网站需要准备什么资料班级网站布局
  • 网站设计评价免费网站重生做军嫂
  • 做网站容易学吗电子商务毕业设计 网站建设
  • 大企业网站建设花瓣网是仿国外那个网站做的
  • 网站怎么收费手机端网站建设的费用清单
  • 惠城营销网站制作网络营销就是
  • 上线了做网站价格贵网页传奇游戏黑屏怎么解决
  • 网站开发公司会计科目wordpress 解析插件
  • 新乡建设网站昆明出入最新规定
  • 河北商城网站建设价格低网店分销系统