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

网站集约化建设会议低代码开发平台开源

网站集约化建设会议,低代码开发平台开源,网站建设的行业资讯,岳阳seo外包一、引用是什么 引用#xff0c;又叫做借用。是一个指针类型。 引用是指向数据的指针#xff0c;它允许我们以只读或可变的方式访问数据#xff0c;而不获取数据的所有权。 编译器静态地保证了引用总是指向有效的对象。也就是说#xff0c;当存在引用指向一个对象时#…一、引用是什么 引用又叫做借用。是一个指针类型。 引用是指向数据的指针它允许我们以只读或可变的方式访问数据而不获取数据的所有权。 编译器静态地保证了引用总是指向有效的对象。也就是说当存在引用指向一个对象时该对象不能被销毁 二、定义引用 在Rust中使用符号来创建引用。 一不可变引用 不可变引用又叫共享引用。 不可变引用允许我们以只读方式访问数据不允许修改数据。 语法格式 type示例 fn main() {let mut x 5;let y x;println!(x: {}, x);println!(y: {}, y); }可变变量x和不可变引用y指向变量x的值。 二可变引用 可变引用允许我们以读写方式访问和修改数据。 语法格式 mut type示例 let mut x 5; let y mut x; *y 1; println!(x: {}, x); println!(y: {}, y);可变变量x和可变引用y通过可变引用y修改了变量x的值。 引用的变量如果要变更必须符合满足三个要求 变量本身是可变的也就是定义时必须添加 mut 关键字。 函数的参数也必须定义为可变的也就是必须添加 mut 关键字。 传递引用也必须是可变的也就是传递参数时必须添加 mut 关键字。 以上三个条件任意一个不满足都会报错。 三、使用引用 使用解引用操作符*来获取引用所指向的值 fn add_one(e: mut i32) {*e 1; } fn main() {let mut i 3;println!(before {},i);add_one(mut i);println!(after {}, i); } 编译运行结果如下 before 3 after 4let x 5; let y x; assert_eq!(5, x); assert_eq!(5, *y); 如果使用assert_eq!(5, y);则会得到编译错误不允许比较数字的引用与数字因为它们是不同的类型。四、悬垂引用 在具有指针的语言中很容易通过释放内存时保留指向它的指针而错误地生成一个悬垂指针悬垂指针也叫野指针是其指向的内存可能已经被分配给其它人。它们就像失去悬挂物体的绳子所以叫悬垂指针。 悬垂引用是一种悬垂指针。 在Rust语言里不允许出现悬垂引用 比如 fn main() {let reference_to_nothing dangle(); } fn dangle() - String {let s String::from(hello);s }编译错误。 因为 s 是在 dangle 函数内创建的当 dangle 的代码执行完毕后s 将被释放。返回的引用会指向一个无效的 String这可不对Rust不会允许我们这么做。 这里的解决方法是直接返回 String fn no_dangle() - String {let s String::from(hello);s }这样就没有任何错误了。所有权被移动出去所以没有值被释放。 五、引用的规则 1.在同一时间点要么 只能有一个可变引用要么 只能有多个不可变引用。 2.引用必须总是有效的 一个引用的作用域从声明的地方开始一直持续到最后一次使用为止。 例如 let mut s String::from(hello); let r1 s; // 没问题 let r2 s; // 没问题 println!({} and {}, r1, r2); // 此位置之后r1和r2不再使用 let r3 mut s; // 没问题 println!({}, r3);不可变引用 r1 和 r2 的作用域在 println! 之后结束这也是创建可变引用 r3 的地方。它们的作用域没有重叠所以代码是可以编译的。 比如下面例子是错误的因为同一时间存在多个可变引用。 let mut s String::from(hello); let r1 mut s; let r2 mut s; println!({}, {}, r1, r2);下面例子也是错误的因为同一时间既存在可变引用又存在不可变引用 let mut s String::from(hello); let r1 s; // 没问题 let r2 s; // 没问题 let r3 mut s; // 大问题 println!({}, {}, and {}, r1, r2, r3);
http://www.hkea.cn/news/14589446/

相关文章:

  • 做网站和做免费推广网站的区别企业网站建设有没有模板
  • 郑州外贸网站建站网站建设优化多少钱
  • 做网站的软件是什么企业中层管理人员培训课程
  • 吴中区住房和城乡建设局网站网站登录页面html模板
  • 网站建设服务合同是否缴纳印花税侨联网站建设
  • 网站备案自己备案和代理备案网络营销最新案例
  • 南京门户网站长春门户网站建设制作
  • 建设网站主题鸿蒙系统应用软件开发
  • 响应式网站新闻部分怎么做企业网站开发教学
  • 网站demo要几个人做wordpress速度和cms
  • 做网站着用什么软件营销策划策划公司
  • 文章网建站seo优化一般包括哪些
  • 58做网站联系电话山东网站建设优化技术
  • 电商网站建设常见问题国家信用信息公示系统贵州
  • 怎样自学开网店seo推广方法
  • 宁波住房和建设局网站首页已有网站域名 怎么做网站
  • 微信公众号做微网站吗深圳做微商网站
  • 小型行业网站建设维护成本wordpress站点临时关闭
  • 汉沽做网站开发公司外包
  • 触屏版网站开发样式wordpress 免登陆接口
  • app网站开发报价工行gcms系统
  • 永安城乡建设局网站做旅行网站的意义
  • 如何做响应式网站设计做外贸比较好的网站有哪些
  • 注册公司网站流程大学生优秀ppt作品范例
  • 有域名了建立免费网站欧亚达网站是哪家公司做的
  • 美工网站协会网站建设
  • 温州微网站公司新华路街道网站建设
  • 个人网站 摄影展示做调差问卷的网站
  • 济南公司网站建设公司哪家好企业网站免费建站程序
  • 免费企业建站源代码怎么上网站