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

有域名了建立免费网站成全在线观看免费高清动漫

有域名了建立免费网站,成全在线观看免费高清动漫,百度搜索引擎推广怎么弄,怎么做招投标网站最近学习rust,网上资料还是很有限,做题遇到的问题,有时需要自己试验。把自己做题过程遇到的问题,和试验的结论,做一些简单记录。 阅读下列文字和代码 用切片(的引用)做参数要非常小心&#xff…

最近学习rust,网上资料还是很有限,做题遇到的问题,有时需要自己试验。把自己做题过程遇到的问题,和试验的结论,做一些简单记录。

阅读下列文字和代码

用切片(的引用)做参数要非常小心,切片中的某个元素直接用=赋值,用的是copy方式而不是所有权转移(实践证明)。
如果要用切片中的值赋值,那么可以对切片元素clone(需要元素类型实现Clone trait),
或者限制切片元素类型为实现了copy trait。String没有实现Copytrait,实现了Clone trait
let l: String = *y;(y是&String),这种解引用再用=赋值,走的也是copy方式,
就会报错(String没实现copy trait)
给类型上加#[derive(Copy)]可以添加Copy特征,Copy特征有自己默认实现的代码,
这个类型就可以调用它们,也可以自己重写方法

fn main() {let mut x = String::from("hello");let y = &x;let z = y;println!("{}", *y);// let l: String = *y;     // 会报错。通过报错信息可知,解引用再用=赋值,是copy操作// 直接将String本身用=赋值,是转移所有权;// 将String本身的引用,解引用后用=赋值,是copy操作,// String没有实现copy特性,所以会报错(上一行)let l = x;
}fn largest2(s: &[String]) -> String {// 下面错误,原因是会发生所有权转移,但是s是一个切片(的引用),// 切片:[String, String, ... , String],// 如果其中某个元素发生了所有权转移,是不被允许的,所以这里只能通过拷贝// 但是String没有实现copy trait,所以会报错。正确做法是用clone()// let mut res: String = s[0];let mut res: String = s[0].clone();res
}/*
重大发现,这个泛型如果不限制它实现copy特征,那么发生传值的时候,
比如我写let x = list[0],注意list是这个切片首地址,list[0]就是切片中首元素,
它是T类型的,这种赋值方式会copy一份给x绑定,如果T没实现copy trait怎么办?
所以要限定T的范围,这里限定T为实现了Copy特征的类型
*/
fn largest<T: std::cmp::PartialOrd + Copy>(list: &[T]) -> T {let mut res = &list[0];for i in list.iter() {if *i > *res {res = i;}}*res    // res是T类型的引用,这种返回是用&T
}// 如果要用clone(),得确保类型实现了Clone
fn largest1<T: std::cmp::PartialOrd + Clone>(list: &[T]) -> T {let mut res = list[0].clone();for i in list.clone() {if *i > res {res = i.clone();}}res
}
结构体赋值的例子

这个是从rust圣经上摘录的

struct User {active: bool,username: String,email: String,sign_in_count: u64,
}

我们创建了一个user1,代码略,然后用user1更新user2:

  let user2 = User {email: String::from("another@example.com"),..user1};

这里除了email是新创建,其他都是和user1一样。其中username字段进行了所有权转移,原因:

实现了 Copy 特征的类型无需所有权转移,可以直接在赋值时进行 数据拷贝,其中 bool 和 u64 类型就实现了 Copy 特征(来源rust圣经)

由于user1中username的所有权转移给了user2,user1之后就不能使用了。但是通过user1.active、user1.email、user1.sign_in_count可以使用user1中没有失效的属性。

http://www.hkea.cn/news/1980/

相关文章:

  • 石家庄红酒公司 网站建设搜索引擎营销经典案例
  • 网站开发市场价网站seo李守洪排名大师
  • 做整装的网站拼多多关键词优化是怎么弄的
  • 做导航网站把别人的网址链接过来要经过允许吗安卓手机优化神器
  • 泰安哪家做网站好海外推广渠道都有哪些
  • 网站的做代理商b站视频推广网站400
  • 做网站需要什么系统渠道策略的四种方式
  • 网站倒计时百度一下你就知道
  • 品牌网站建设精湛磐石网络线上培训
  • 做外贸英文网站seo需要掌握什么技能
  • 做二手房又做网站的网络优化工程师是做什么的
  • 北京的网页建设公司seo优化效果怎么样
  • 做网站要用到什么软件如何在百度上做推广
  • wordpress 企业版网络推广seo怎么弄
  • 免费企业信息查询网站属于网络营销的特点是
  • 适合毕设做的简单网站全渠道营销成功案例
  • 网站公司哪家最专业怎样把个人介绍放到百度
  • 南京驰铭做网站公司重庆网站关键词排名优化
  • 长沙哪里有做网站的公司win7优化设置
  • 可以看任何东西的浏览器网站页面seo
  • 电子商务网站建设策划书的流程保定seo网络推广
  • dw做网站如何让用户可编辑网络营销公司排名
  • 购买腾讯备案网站贵州二级站seo整站优化排名
  • 什么是纯动态网站百度推广怎么运营
  • 景德镇做网站公司站内seo内容优化包括
  • 西安市网站建设公司营销方案
  • ui网站界面设计网站不收录怎么解决
  • 设计制作简单的手机网站seo推广专员工作内容
  • 免费网站看v片在线第一次做如何建立自己的网站平台
  • 网站的国际化 怎么做软文推广发稿