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

python3 网站建设猜艺士科技网站建设

python3 网站建设,猜艺士科技网站建设,设计学类,手机网站制作流程策略类模板 在前面的博文中#xff0c;策略类SumPolicy和MinPolicy都是普通的类#xff0c;其中包含的是一个静态成员函数模板algorithm()#xff0c;该函数模板包含两个类型模板参数。其实#xff0c;也可以把SumPolicy和MinPolicy类写成类模板—直接把algorithm()中的两…策略类模板 在前面的博文中策略类SumPolicy和MinPolicy都是普通的类其中包含的是一个静态成员函数模板algorithm()该函数模板包含两个类型模板参数。其实也可以把SumPolicy和MinPolicy类写成类模板—直接把algorithm()中的两个类型模板参数搬到类定义上面作为类模板的模板参数就可以了。类模板SumPolicy和MinPolicy的实现代码如下。 templatetypename sumT,typename T struct SumPolicy {static void algorithm(sumT sum, const T value){sum value;} };templatetypename minT,typename T struct MinPolicy {static void algorithm(minT min, const T value){if (min value)min value;} };当然同样要修改funcsum()函数模板该函数模板的第3个类型模板参数要作出改变当前第3个类型模板参数的默认值是SumPolicy这是一个类型但是修改后的SumPolicy已经是一个类模板了所以funcsum()函数模板的第3个模板参数必须是一个模板模板参数。修改后的funcsum()函数模板如下。 // 这里的class也可以写成typename templatetypename T,typename U SumFixedTraitsT,templateclass,class class V SumPolicy auto funcsum(const T* begin, const T* end) {typename U::sumT sum U::initValue();for (;;){VU::sumT, T::algorithm(sum, *begin);// T时数组成员类型U是固定萃取类模板从中可以提取出计算的结果类型(U::sumT)// 以及结果的初值V是策略类模板用于实现具体算法(求和求最小值等)if (begin end)break;begin;}return sum; }完整且完美的代码如下: #include killCmake.h#includestringusing namespace std;templatetypename T struct SumFixedTraits;template struct SumFixedTraitschar {using sumT int;static sumT initValue() {return 0;} };template struct SumFixedTraitsdouble {using sumT double;static sumT initValue() {return 0.0;} };templatetypename T struct MinFixedTraits;template struct MinFixedTraitsint {// 求最小值结果类型与元素类型相同即可// 为名字统一都用sumT这个名字using sumT int;static sumT initValue(){// 这里给整型最大值相信任何一个数组元素都不会比这个值更大// 因此可以顺利找到数组元素中的最小值return INT_MAX;} };templatetypename sumT,typename T struct SumPolicy {static void algorithm(sumT sum, const T value){sum value;} };templatetypename minT,typename T struct MinPolicy {static void algorithm(minT min, const T value){if (min value)min value;} };// 这里的class也可以写成typename templatetypename T,typename U SumFixedTraitsT,templateclass,class class V SumPolicy auto funcsum(const T* begin, const T* end) {typename U::sumT sum U::initValue();for (;;){Vtypename U::sumT, T::algorithm(sum, *begin);// T时数组成员类型U是固定萃取类模板从中可以提取出计算的结果类型(U::sumT)// 以及结果的初值V是策略类模板用于实现具体算法(求和求最小值等)if (begin end)break;begin;}return sum; }int main() {int my_int_array1[] { 10,15,20 };std::cout funcsumint, MinFixedTraitsint, MinPolicy( my_int_array1[0], my_int_array1[2]) std::endl;return 0; } 萃取技术与策略技术的比较 之前的博文学习了萃取trait技术也学习了策略policy技术对于萃取技术通过范例展示了固定萃取和值萃取对于策略技术展示了算法策略。萃取技术和策略技术很相似注意它们之间的相同与不同之处。 1两种技术都像一个中间件一样夹在不同的功能代码之间使代码之间的调用交互更加灵活。2萃取技术传入一个类型萃取出另外一个类型或值注重类型或值而策略技术是传入一个类型萃取出一个算法或者说是一个不同的功能实现注重动作或行为。因此书写策略类类模板时通常都需要包含成员函数以实现指定的行为。但在实际的项目实现中也可能会在萃取类中实现某些动作或行为从这个角度来讲两种技术有时区分并不是那么明显。3萃取技术一般通过一个类模板来实现通常包含类模板的泛化版本和多个特化版本。而策略技术用普通类或类模板都可以实现。
http://wiki.neutronadmin.com/news/23746/

相关文章:

  • 淘宝接单做网站广告设计网站素材
  • 绍兴做网站公司哪家好申请完域名怎么做网站
  • 笔记本网站开发背景网络营销方式可分为无站点网络营销和什么
  • 网站建设验收确认书企业手机端网站源码
  • 建设旅游网站的目标oppo网站建设
  • 做好网站建设如何学建设网站
  • 网站每天1万ip能收入多少WordPress评论后不会跳转
  • 广州黄埔做网站的公司哪家好中国万网域名注册官网
  • 比较好的高端网站制作公司五大门户网站分别是
  • 个人如何建设电子商务网站软件网站开发市场前景
  • 私人定制网站建设wordpress设置文章排序
  • 网站建设和运行遇到的问题红色网站 推荐
  • 如何编程做网站梵客官网
  • 网站生成app基础建设的意义
  • 河南县wap网站建设公司wordpress 标题 搜索
  • 大连住建部官方网站上海要做网站
  • 百度提交网站收录地址深圳市宝安区松岗邮政编码
  • 广州seo网站推广优化高端建筑物图片
  • 世界十大网站排名怎么制作视频教程
  • 关键词查找网站杭州设计公司老总被点火
  • 免费模板下载网站网络营销网站规划建设
  • 建立个网站广东建设工程信息网站6
  • 做编程的网站有哪些方面中国公司排行榜前十名
  • 做网站用js的好处泰安选择企业建站公司
  • 钓鱼网站的危害司法政务网站群建设
  • 怎么做网站的项目预算360免费视频网站建设
  • 分类信息网站营销网站建设功能是什么意思
  • 系部网站开发项目的目的福田网站建设seo信科
  • 做网站用的背景图桓台网站制作
  • qq邮箱咋与网站绑定提醒网络销售招聘