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

创建网站的六个步骤wordpress创建页面

创建网站的六个步骤,wordpress创建页面,thinkphp 网站开发,海口网站开发Rust的运行时多态 Rust的静态多态即编译时多态#xff0c;通过**泛型特征约束#xff08;Generic Type Trait Constrait#xff09;**来实现#xff1b; 那么动态多态#xff08;运行时多态#xff09;呢#xff1f;答案是特征对象#xff08;Trait Object#xff…Rust的运行时多态 Rust的静态多态即编译时多态通过**泛型特征约束Generic Type Trait Constrait**来实现 那么动态多态运行时多态呢答案是特征对象Trait Object。 特征对象不是一个实例而是一个结构体类型。 语法是dyn TraitName编译时指示某个对象是实现TraitName的类型其具体类型未知。 分析 程序运行时要调用一个特征方法需要两个要素 对象实例对象类型未知因此其编译期大小未知特征的方法表 所以特征对象结构体必须获知以上两个要素。 发生运行时多态时在编译阶段编译器无法辨别对象实例的类型因此对象实例要素的大小无法获知进而特征对象Trait Object的大小在编译阶段无法被确定这决定了Trait Object只能存放在堆上通过引用或智能指针来访问。 指向特征对象的引用或智能指针包含了两个指针成员在程序运行时ptr1在指向对象实例ptr2指向该对象类型的Trait Method实现。 典型用例 #[derive(Debug)] struct Journal {author: String,year: u16,from: String, } #[derive(Debug)] struct Conference {author: String,year: u16,country: String, }trait Summary {fn summary(self) - String; }impl std::fmt::Debug for dyn Summary {fn fmt(self, f: mut std::fmt::Formatter) - std::fmt::Result {write!(f, {}, self.summary())} }impl Summary for Journal {fn summary(self) - String {format!({}\t{}\t{}, self.author, self.year, self.from)} } impl Summary for Conference {fn summary(self) - String {format!({}\t{}\t{}, self.author, self.year, self.country)} }// cant defer concrete type in compile stage, trait constrain cant used here // fn init_default(_type: str) - impl Summary { // if _type journal { // Journal { // author: hjd.to_owned(), // year: 2018, // from: Nature.to_owned(), // } // } else { // Conference { // author: hjd.to_owned(), // year: 2018, // country: China.to_owned(), // } // } // }// 只能使用特征对象进行动态分发因为返回类型编译期无法推理获知 fn init_default(_type: str) - Boxdyn Summary {if _type journal {Box::new(Journal {author: hjd.to_owned(),year: 2018,from: Nature.to_owned(),})} else {Box::new(Conference {author: hjd.to_owned(),year: 2018,country: China.to_owned(),})} }fn main() {let p1 init_default(journal);let p2 init_default(conference);let p3 init_default(journal);let p4 init_default(conference);let p_list vec![p1, p2, p3, p4];// dyn Summary是一个特征对象类型它忘记了自己之前的具体类型只能调用Summary特征中的方法for p in p_list.iter() {println!({:?}, p);} }
http://www.hkea.cn/news/14318081/

相关文章:

  • 深圳大型商城网站建设漳州网站开发
  • 打造一个网站如何能把网站做的更大
  • 南通做网站建设公司如何利用某个软件做一个网站
  • 河南省建设厅网站打不开网站的性质和主办者
  • 自己电脑做电影网站如何用自己网站做大电商
  • 电脑怎么建网站详细步骤网站集群建设
  • 北京住房建设部网站首页网页设计网站欣赏
  • 网站首页设计分析wordpress如何修改字体大小
  • 个人网站源码php服装网站建设开题报告
  • 建设网站出什么科目wordpress用户登录设置
  • 南昌住房和城乡建设部网站电话0基础12天精通网站建设
  • 制作公司网站设计手绘网页设计代码三页
  • 浦江建设局网站云南网约车有哪些平台
  • 网站紧急升级维护中网址查询服务中心
  • 网站制作切片网站的线下推广怎么做的
  • 广州市建设厅网站首页淘宝网站怎么做的好坏
  • 网站排队队列怎么做wordpress 新建模板页
  • 建设网站的意义 作用是什么意思wordpress customize.php
  • 谈谈你在建设主题资源网站时医院的 建设网站的策划书
  • 网站上线所需的东西哪里好安徽二建标准
  • 个人能不能自己做网站wordpress新增页面
  • 温州哪里做网站设计公司的网站设计
  • 大好网站企业网站功能
  • 长沙网站建设及推广公司在线制作成品图片
  • 一起做网站可以一件代发吗app定制开发公司排名
  • 在建设局网站上怎么样总监解锁做网站干什么用
  • 网站建设电话邀约话术龙溪网站建设企业
  • 网站后台难做吗wordpress 4.6 中文
  • 外贸网站建设有哪些要求7款优秀网站设计欣赏
  • aspx网站架设教程php网站建设的安全性研究