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

网站制作学什么软件网站报名系统怎么做

网站制作学什么软件,网站报名系统怎么做,百度seo wordpress插件,东莞市朝阳企讯通一、显示this 在前面的文章中分析了显示this(Deducing This),具体的内容请移步《c23新功能之二语法中的Deducing This》#xff0c;本篇对显示this对实际应用中的一些完善和更新形式进行分析说明#xff0c;抛砖引玉。 二、CRTP的应用 在前面的学习中#xff0c;学过CRTP…一、显示this 在前面的文章中分析了显示this(Deducing This),具体的内容请移步《c23新功能之二语法中的Deducing This》本篇对显示this对实际应用中的一些完善和更新形式进行分析说明抛砖引玉。 二、CRTP的应用 在前面的学习中学过CRTPCuriously Recurring Template Pattern 奇异递归模板模式其实就是在传统的子继承父的基础上在利用模板时将子类传入到父类模板中去的一种转置继承。在前面的文中也对其中的一些用法和特点进行了分析说明。重点是知道了一般这种情况都是在模板的元编程中使用。下面看一下在c23前后的应用方式的不同情况 1、传统方式 #include iostream template class T class Base { public:void Display(){static_castT*(this)-Data();}static void Call(){T::Call();} };class Derived : public BaseDerived { public:void Data() { std::cout Derived function :Data() std::endl; };static void Call() { std::cout Derived function :Call() std::endl; }; }; int main() {Derived d;BaseDerived *b d;b-Display();b-Call(); } 这个例子非常简单在前文也出现过。 2、c23的应用方式 class Base { public:templatetypename Tvoid Display(this Tt){t.Data();} };class Derived : public Base { public:void Data() { std::cout Derived function :Data() std::endl; }; }; int main() {Derived d;Base b;b.Display(d);//b.Derived(std::move(d));//ok other }三、在设计模式中的应用 1、传统方式 举一个构建者的例子 template typename T void class BuilderOld {using Derived std::conditional_tstd::is_void_vT, BuilderOld, T; public:Derived owner(){std::cout Builder owner std::endl;return *static_castDerived*(this);}public:Derived setColor(int color) { std::cout color is color std::endl; return owner(); }Derived setAge(int age) { std::cout age is:age std::endl; return owner(); }Derived setSex(int sex) { std::cout sex is:sex std::endl; return owner(); } };class DOld :public BuilderOldDOld { public:DOld setLen(int l) { std::cout set len is: l std::endl; return *this; }DOld setWidth(int w) { std::cout set width is:w std::endl; return *this; } };int main() {BuilderOld().setColor(1).setAge(2).setColor(3).setSex(6);//vcBuilderOld().setColor(1).setAge(2).setColor(3).setSex(6);//gDOld().setColor(2).setLen(9).setWidth(9).setSex(9);return 0; }2、c23中的应用方式 在C23中使用显示this来对其进行处理 class Builder23 { public:template typename Towner setColor(this T t,int color) { std::cout set color is: color std::endl; return owner; }template typename Towner setAge(this T t,int age) { std::cout set age is: age std::endl; return owner; }template typename Towner setSex(this T t,int sex) { std::cout set sex is: sex std::endl; return owner; } };class D23 :public Builder23 { public:D23 setLen(int l) { std::cout c23:set len is: l std::endl; return *this; }D23 setWidth( int w) { std::cout c23:set width is: w std::endl; return *this; } };int main() {Builder23().setColor(1).setAge(9).setColor(11).setSex();D23().setColor().setLen().setWidth().setSex();return 0; } 在Builder中不一定非要这种流式调用的方法其它方法也有很多。重点在于如何真正理解Builder的本身存在的目的。在c中实现流式的方法有不少方式但采用CRTP的方式是一种在编译期处理的情况这就看具体的需要来决定采用哪种情况了。 三、总结 学以致用用才是关键。学而不用和不学没有什么区别。具体到计算机的技术上学而不用简单来说时间长会忘记另外一个问题是计算机技术的迅速更迭导致形成自身的技术断层甚至某些技术直接就被淘汰了。这样再想形成一个完整的知识体系就非常困难了。同样也不利于快速的跟进新技术的发展。
http://www.pierceye.com/news/662816/

相关文章:

  • 做外贸比较好的网站有哪些北京短视频代运营
  • 建站公司学习筑梦网站建设
  • 手工艺品网站建设侧胡顺个人简历表格可填写
  • 电商网站竞价推广策略淘宝做问卷的网站
  • 门窗 东莞网站建设婚庆公司收费标准
  • 网站页面下沉的特效代码网络建设存在的问题
  • 给网站做维护是什么工作网页怎么赚钱
  • 三丰云做游戏网站win主机安装wordpress
  • 网站建设黄荣vuejs做视频网站设计
  • 手机怎样下载安装建设银行网站企业通过网络推广成功的案例
  • 门户网站开发工具软件哪个公司的网络最好用
  • 河南省住房和城乡建设厅查询网站首页舆情网站推荐
  • 网页设计是网站建设与管理的内容吗公司网络营销的方案思路
  • 商业授权网站标题优化技巧
  • 班级网站做哪些方面阿里云市场网站建设
  • 2345网站登录电子工程师有前途吗
  • 网站建设企业邮箱制作网站山东平台网站建设制作
  • 仿新浪微博网站代码国家高新技术企业公示
  • 遵义网站建设公司电话多少成都网站优化seo
  • 宝安网站设计排名网站建设收费标准资讯
  • 景安怎么把网站做别名西安网站优化seo
  • 长沙专业网站建设怎么做云南昆明百度推广公司
  • 网页制作网站的大作业网站开发怎么设置打印按钮
  • 金乡网站建设哪家便宜建网站解决方案
  • 大港油田建设官方网站怎么帮人做网站
  • nginx建设网站教程wordpress文章列表格子
  • 山东网站开发学校深圳福田网站建设公司
  • 做电商网站的框架结构图江西省住房和城乡建设厅
  • 运输网站建设网站上的销售怎么做的
  • ps做网站首页效果图潮安区住房和城乡建设局网站