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

商洛建设网站采购系统

商洛建设网站,采购系统,网站后台页面,酒庄企业网站上一篇:Rust系列(三) 类型系统与trait 基于官方文档进行简单学习记录,保证所有示例是可运行的基本单元。测试rust程序除了使用官方的playground之外,还可以通过定义[[example]]来运行程序。 文章目录 1. Deref2. DerefMut 1. Deref 用于不可…

上一篇:Rust系列(三) 类型系统与trait

基于官方文档进行简单学习记录,保证所有示例是可运行的基本单元。测试rust程序除了使用官方的playground之外,还可以通过定义[[example]]来运行程序。

文章目录

  • 1. Deref
  • 2. DerefMut

1. Deref

用于不可变对象的解引用操作,语法类似*v
官方文档:https://doc.rust-lang.org/std/ops/trait.Deref.html
trait源码

pub trait Deref {type Target: ?Sized;// Required methodfn deref(&self) -> &Self::Target;
}

备注:DerefDerefMut 设计之初就是为了适配和简化智能指针而设计的,应该避免为非智能指针实现相关trait,以造成混淆。
Deref coercion
假设类型T实现了Deref<Target = U> trait,有一个类型为T的变量x,有下面几条规则成立:

  • *x等价于*Deref::deref(&x)
  • 类型T必须实现所有类型U的不可变方法

应用示例

use std::ops::Deref;struct DerefExample<T> {value: T,
}impl<T> Deref for DerefExample<T> {type Target = T;fn deref(&self) -> &Self::Target {&self.value}
}fn main() {let x: DerefExample::<char> = DerefExample { value: 'a' };let target: char = *x;// a aprintln!("{} {}", target, 'a');
}

2. DerefMut

用于可变对象的解引用操作,语法类似*v = 1
官方文档:https://doc.rust-lang.org/std/ops/trait.DerefMut.html
trait源码

pub trait DerefMut: Deref {// Required methodfn deref_mut(&mut self) -> &mut Self::Target;
}

DerefMut coercion
假设类型T实现了DerefMut<Target = U> trait,有一个类型为T的变量x,有下面几条规则成立:

  • *x等价于*DerefMut::deref_mut(&mut x)
  • 类型T必须实现所有类型U的可变和不可变方法

应用示例

use std::ops::{Deref, DerefMut};struct DerefMutExample<T> {value: T,
}impl<T> Deref for DerefMutExample<T> {type Target = T;fn deref(&self) -> &Self::Target {&self.value}
}impl<T> DerefMut for DerefMutExample<T> {fn deref_mut(&mut self) -> &mut Self::Target {&mut self.value}
}fn main() {let mut x: DerefMutExample::<char> = DerefMutExample { value: 'a' };// a aprintln!("{} {}", *x, 'a');*x = 'b';// b aprintln!("{} {}", *x, 'a');
}
http://www.yayakq.cn/news/650054/

相关文章:

  • 个人建什么网站最赚钱cps推广是什么意思
  • 衡水企业网站建设报价品牌建设工作方案
  • 沈阳行业网站建设用wordpress建wiki
  • 做mla的网站淄博桓台学校网站建设哪家好
  • 瀑布流网站如何seo罗湖网站建设 信科网络
  • 河北网站优化公司济南网站建设599
  • 个人工作室网站模板wordpress仿谷歌主题
  • 网站利润分析在线教育网站建设方案
  • 一个月做网站用爬虫做网站
  • 网站策划包括哪些内容3小说网站开发
  • cms电影网站模板wordpress账号是什么
  • 企业如何做网站外包多少钱wordpress 木马 查
  • 北京 好的网站制作建个视频网站多少钱
  • 昆山玉山网站建设山东兴华建设集团有限公司网站拼音
  • 建筑人才网官方网站中国建筑科学院有限公司认证中心网站开发最新流程
  • 电子商务网站建设基本流程图免费网站用官微建站
  • 网站开发 嘉定海口装饰设计网站建设
  • 宁波网站运营优化系统系统和网站哪个简单一点
  • 仪征做网站wordpress占用内存居高不下
  • 企业网站推广怎么做网店推广分为哪几种类型
  • 石家庄手机网站网站建设公司相关资质
  • 零基础搭建网站电影网站开发开题报告
  • 做网站都需要什么东西做网站完整过程
  • 现代网站开发设计报告苏州城乡建设网站
  • wordpress网站模版广州seo网站推广优化
  • 网站域名备案在阿里云怎么做百度识图搜索
  • 做市级网站需要什么意思建设网站是公司资产
  • 合肥 网站设计企业官网下载
  • 广西送变电建设公司网站教你做网站和学习教程熊掌号
  • 网站开发市场情况研发网站要多长时间