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

出格网站建设公司中国公司排行榜前十名

出格网站建设公司,中国公司排行榜前十名,网站wap怎么做,域名代备案模板的特化 1.概念2.函数模板特化3.类模板的特化3.1 全特化3.2 偏特化3.2.1 部分特化3.2.2 参数更进一步的限制 4.总结 1.概念 在原模板类的基础上#xff0c;针对特殊类型所进行特殊化的实现方式 2.函数模板特化 步骤 1.必须要先有一个基础的函数模板 2.关键字 template后面接… 模板的特化 1.概念2.函数模板特化3.类模板的特化3.1 全特化3.2 偏特化3.2.1 部分特化3.2.2 参数更进一步的限制 4.总结 1.概念 在原模板类的基础上针对特殊类型所进行特殊化的实现方式 2.函数模板特化 步骤 1.必须要先有一个基础的函数模板 2.关键字 template后面接一对空白的尖括号 3.函数名后跟一对中指定需要特化的类型 4.函数形参表必须要和模板函数的基础参数类型完全相同如果不同 编译器可能会报一些奇怪的错误 #include iostream using namespace std; //先创建一个日期类 class Date { public:Date(int year, int month, int day):_year(year), _month(month), _day(day){cout Date(int year, int month, int day) endl;}bool operator(const Date d){if (_year d._year)return true;else if (_year d._year){if (_month d._month){return true;}else if (_month d._month){return _day d._day;}}return false;}bool operator(const Date d){return _year d._year _month d._month _day d._day;} private:int _year;int _month;int _day; }; // 函数模板 -- 参数匹配 templateclass T bool Less(T left, T 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; }上述示例中p1指向的d1显然小于p2指向的d2对象但是Less内部并没有比较p1,p2指向对象的内容而比较的是p1,p2指针的地址这就无法达到预期的答案。 此时需要对函数模板进行特化 // 对Less函数模板进行特化 template bool LessDate*(Date * left, Date * right) {return *left *right; } 注意一般情况下如果函数模板遇到不能处理或者处理有误的类型为了实现简单通常都是将改函数直接给出 bool Less(Date* left, Date* right) {return *left *right; }该种实现简单明了代码的可读性高容易书写。 3.类模板的特化 3.1 全特化 全特化是将模板参数列表中所有的参数都确定化 templateclass T1, class T2 class Data { public :Data() { cout DataT1, T2 endl; } private:T1 _d1;T2 _d2; }; //全特化 template class Dataint, char { public :Data() { cout Dataint, char endl; } private:int _d1;char _d2; };3.2 偏特化 3.2.1 部分特化 将模板参数类表中的一部分参数特化 templateclass T1, class T2 class Data { public :Data() { cout DataT1, T2 endl; } private:T1 _d1;T2 _d2; }; //偏特化 // 将第二个参数特化为int template class T1 class DataT1, int { public :Data() { cout DataT1, int endl; } private:T1 _d1;int _d2; };3.2.2 参数更进一步的限制 偏特化不仅仅是指特化部分参数而是针对模板参数更进一步的条件限制所设计出来的一个特化版本 templateclass T1, class T2 class Data { public :Data() { cout DataT1, T2 endl; } private:T1 _d1;T2 _d2; };//两个参数偏特化为指针类型 template typename T1, typename T2 class Data T1*, T2* { public :Data() { cout DataT1*, 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){cout DataT1, T2 endl;} private:const T1 _d1;const T2 _d2; };4.总结 优点 模板复用了代码节省资源增强了代码的灵活性 缺点 模板会导致代码膨胀问题也会导致编译时间变长出现模板编译错误时错误信息非常凌乱不易定位错误
http://www.hkea.cn/news/14361502/

相关文章:

  • 平邑县住房和城乡建设局网站wordpress 二手
  • 在哪里学做网站哈尔滨做网站哪好
  • 定制网站开发系统wordpress积分墙
  • 搭网站可以用自己电脑做服务器吗怎么开发小程序微信小程序开发流程
  • 老干部局网站建设哪有做logo的网站
  • 常德网站建设设计免费的公众号排版工具
  • 阿里能帮做网站吗北京网站开开发公司
  • 温州制作网站中国可以做交互的网站
  • 国外网站做freelancer黄页88标题生成器
  • 免费网站空间 国外代申请可信网站
  • 网站流量统计怎么做的网站开发违法
  • 875网站建设怎么样企业画册内容
  • 做搜狗网站快速排名软件开发各阶段产生的文档
  • 道路建设网站网站页面优化方法
  • 瀑布流网站源码下载怎么做网上销售
  • 网站建设开发 脚本语言网站建设公司找客户
  • 电子商务网站体系结构有哪些2008系统怎么搭建多个网站
  • 免费页面设计模板海外网站优化
  • 苏州网站建设方案策划中文 域名的网站
  • 主做收影视出版的小说网站广州企业网站设计方案
  • 网站模块是什么温州招聘网
  • 免费做App和网站的平台彭阳网站建设多少钱
  • 沈阳网站建设教案模板如何用dw制作简单网页
  • 中国建设银行个人网上银行网站wordpress怎么安装老版编辑器
  • 济宁网站建设制作设计兰州400电话网站建设
  • 企业网站建设的总体架构做企业网站赚钱吗
  • 廊坊高端网站建设网络营销策略分析论文
  • 网站开发信息平台项目总结上海市建筑业官网
  • 江苏省水利工程建设局网站深圳seo排名
  • 南充建设公司网站wordpress首部如何添加自定义代码