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

购物网站的图片轮播怎么做医疗器械类网站icp备案前置审批

购物网站的图片轮播怎么做,医疗器械类网站icp备案前置审批,辽宁城市建设职业技术学院教育网站,网站开发软件著作权归谁一、非类型模版参数 之前学习的模版#xff0c;参数一般是某种类型#xff0c;但其实非类型的参数也可以定义在模版里面#xff0c;但也有一定的限制#xff0c;只可以定义整形家族的参数#xff0c;而且具有常量性 注意#xff1a; 1. 浮点数、类对象以及字符串是不允…一、非类型模版参数 之前学习的模版参数一般是某种类型但其实非类型的参数也可以定义在模版里面但也有一定的限制只可以定义整形家族的参数而且具有常量性 注意 1. 浮点数、类对象以及字符串是不允许作为非类型模板参数的。 2. 非类型的模板参数必须在编译期就能确认结果。 namespace chk {// 定义一个模板类型的静态数组templateclass T, size_t N 10class array{public:T operator[](size_t index){return _array[index];}const T operator[](size_t index)const{return _array[index];}size_t size()const{return _size;}bool empty()const{return 0 _size;}private:T _array[N];size_t _size;} } 二、模板的特化 1.概念 模板的特化是针对一些较为特殊的情况可以针对模板的某一种或者某一类实例化去进行特殊的处理在某些场景下会特别方便 例如在使用堆时若是想传指针实际想比较的是指针所指向的内容时可以对模版进行特化在针对传模板参数为两个指针时进行特殊处理 // 函数模板 -- 参数匹配 templateclass T bool Less(T left, T right) {return left right; } // 对Less函数模板进行特化 template bool LessDate*(Date* left, Date* right) {return *left *right; } int main() {cout Less(1, 2) endl;Date d1(2022, 7, 7);Date d2(2022, 7, 8);cout Less(d1, d2) endl;Date* p1 d1;Date* p2 d2;cout Less(p1, p2) endl; // 调用特化之后的版本而不走模板生成了return 0; } 2.特化 特化分为全特化和偏特化其目的都是为了对模版部分实例化根据不同的要求进行特殊的处理 特化的格式是 对需要进行特化处理的部分参数在template列表里不写不进行特化的照写到函数名后一一对应将特化的部分给具体值或者类型不特化的部分照写模板例如 templateclass T,class U,char N class chk {//... }//全特化 template class chkint,double,5 {//... }//偏特化U为int templateclass T,char N class chkT,int,N {//... } 1全特化 全特化是指模板参数全确定的情况下进行特殊处理对所有模板参数都进行特化 templateclass T1, class T2 class Data { public:Data() {coutDataT1, T2 endl;} private:T1 _d1;T2 _d2; };template class Dataint, char { public:Data() {coutDataint, char endl;} private:int _d1;char _d2; };2偏特化 在部分情况下会需要针对某一种具体的情况进行处理可以用全特化而往往过多的可以是针对某一类情况进行特殊处理偏特化的范围是比全特化的范围更大的 偏特化也分两种方式一种是部分特化一种是将模板参数进一步的限制举个例子 templateclass T1, class T2 class Data { public:Data() {coutDataT1, T2 endl;} private:T1 _d1;T2 _d2; }; 这是用来给下面两种特化做对比举例的类 部分特化 将部分模板参数特化成具体的类型或者常量例如 // 将第二个参数特化为int template class T1 class DataT1, int { public:Data() {coutDataT1, int endl;} private:T1 _d1;int _d2; }; 对参数进一步限制 例如你穿过来的是指针或者是引用则会走特化的那一块这种特化的格式要注意template里的参数不能省略 //两个参数偏特化为指针类型 template typename T1, typename T2 class Data T1*, T2* { public:Data() {coutDataT1*, T2* endl;}private:T1 _d1;T2 _d2; };//两个参数偏特化为引用类型 template typename T1, typename T2 class Data T1, T2 { public:Data(const T1 d1, const T2 d2): _d1(d1), _d2(d2){coutDataT1, T2 endl;}private:const T1 _d1;const T2 _d2; }; 三、模板的分离编译 模板通常不支持将声明和定义放在两个文件中进行编译其原因是在链接前两个文件分别进行预处理编译汇编最后再链接在编译阶段由于模板的定义与声明分离在定义部分并不会完成模板的实例化也就无法具体的对类或函数里的内容进行编译而在声明部分则是由于存在声明依然通过了编译阶段到了链接时由于定义的部分未被实例化因此找不到具体的地址去执行相关的函数因此会出现链接错误 可以使用显示实例化解决但这种方式并不推荐 通常我们选择将声明和定义放到同一个文件当中较短的定义直接在类里面定义较长的可以选择在类里面声明在类外面同一个文件中定义。 四、模板的优缺点总结 【优点】 1. 模板复用了代码节省资源更快的迭代开发C的标准模板库(STL)因此而产生 2. 增强了代码的灵活性 【缺陷】 1. 模板会导致代码膨胀问题也会导致编译时间变长 2. 出现模板编译错误时错误信息非常凌乱不易定位错误
http://www.pierceye.com/news/39467/

相关文章:

  • 网站logo制作教程关掉自己做的网站
  • 河北专业网站制作少儿图书销售网站开发背景
  • 企业网站的宣传功能体现在()企业如何注册自己的网站
  • 网站开发人员应具备什么素质防火门 东莞网站建设
  • 上海人才中心网站网站建设栏目管理
  • 做网站收费标准点击量汕头cms建站
  • 医院为什么要做门户网站建设网站程序模块
  • 常州网站建设技术外包公众号怎么制作左右滑动图片
  • 广告设计工资高吗广州网站建设优化
  • 网上商城建网站网站界面设计总结
  • 安徽汽车网网站建设小白怎么做淘宝客网站
  • 网站建设推广费计入什么科目原材料价格查询网站
  • 益阳网站建设绍兴网站建设制作
  • 手机seo网站推广建设银网官方网站
  • 看车二手车网站源码深圳市国外网站建设
  • 宁波做亚马逊网站个体户网站备案
  • 嘉兴优化网站哪家好北京工装装修公司排名前十
  • 温州网站建设免费服务青海风控app下载
  • 手机网站开发流程百度指数是搜索量吗
  • 二级网站怎样做排名编程免费自学网站
  • 建网站的基本步骤wordpress所有文章
  • 咸阳做网站xymokj自己做返利网站
  • 网站设计公司有名乐云seo专业团队介绍
  • 做网站刷东西网站备案 机构需要什么手续
  • 东莞市镇街建设项目监理招标网站简单网页模版
  • 站长工具的网址网站设计的优点
  • 个人建站模板网站建设中最重要的是什么
  • 用服务器建立网站广州交易中心官网
  • 外贸营销型网站建设的技巧成都旅行社网站建设
  • ps做网站字体用多大的asp做网站技术怎样