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

河南省 门户网站建设要求建立网站策划书

河南省 门户网站建设要求,建立网站策划书,wordpress做cms网站,最新域名解析网站智能指针 在各个编程语言中,指针的概念几乎都是相同的:指针是一个包含了内存地址的变量,该内存地址引用或者指向了另外的数据。 在 Rust 中,最常见的指针类型是引用,引用通过 & 符号表示。不同于其它语言&#xf…

智能指针

在这里插入图片描述

在各个编程语言中,指针的概念几乎都是相同的:指针是一个包含了内存地址的变量,该内存地址引用或者指向了另外的数据

在 Rust 中,最常见的指针类型是引用,引用通过 & 符号表示。不同于其它语言,引用在 Rust 中被赋予了更深层次的含义,那就是:借用其它变量的值。引用本身很简单,除了指向某个值外并没有其它的功能,也不会造成性能上的额外损耗,因此是 Rust 中使用最多的指针类型。

而智能指针则不然,它虽然也号称指针,但是它是一个复杂的家伙:通过比引用更复杂的数据结构,包含比引用更多的信息,例如元数据,当前长度,最大可用长度等。总之,Rust 的智能指针并不是独创,在 C++ 或者其他语言中也存在相似的概念。

Rust 标准库中定义的那些智能指针,虽重但强,可以提供比引用更多的功能特性,例如本章将讨论的引用计数智能指针。该智能指针允许你同时拥有同一个数据的多个所有权,它会跟踪每一个所有者并进行计数,当所有的所有者都归还后,该智能指针及指向的数据将自动被清理释放。

引用和智能指针的另一个不同在于前者仅仅是借用了数据,而后者往往可以拥有它们指向的数据,然后再为其它人提供服务。

在之前的章节中,实际上我们已经见识过多种智能指针,例如动态字符串 String 和动态数组 Vec,它们的数据结构中不仅仅包含了指向底层数据的指针,还包含了当前长度、最大长度等信息,其中 String 智能指针还提供了一种担保信息:所有的数据都是合法的 UTF-8 格式。

智能指针往往是基于结构体实现,它与我们自定义的结构体最大的区别在于它实现了 DerefDrop 特征:

  • Deref 可以让智能指针像引用那样工作,这样你就可以写出同时支持智能指针和引用的代码,例如 *T
  • Drop 允许你指定智能指针超出作用域后自动执行的代码,例如做一些数据清除等收尾工作

智能指针在 Rust 中很常见,我们在本章不会全部讲解,而是挑选几个最常用、最有代表性的进行讲解:

  • Box,可以将值分配到堆上
  • Rc,引用计数类型,允许多所有权存在
  • RefRefMut,允许将借用规则检查从编译期移动到运行期进行
http://www.yayakq.cn/news/901843/

相关文章:

  • 济南企业网站关键词推广网站资料上传
  • 婴幼儿用品销售网站开发报告餐饮酒店网站怎么做
  • 网站开发项目预算表学校网站建设报价
  • 网站模板怎么进wordpress访问格式丢失
  • 会展相关网站的建设情况北京顺义网站建设
  • 建筑模板的规格app排名优化公司
  • 建站系统搭建音乐网站wordpress时间调用标签
  • 网龙网络公司官网南昌网优化seo公司
  • linux做网站的好处在线黑科技网站
  • 广西新宇建设项目有限公司网站网站推广方法大全
  • 做网站图片多少钱wordpress免费的企业主题
  • 互联网建设企业网站搭建asp虚拟主机网站
  • 网站建设有哪几个方面网络运营商怎么联系
  • 济南金融行业网站开发办公门户网站模板
  • shopify建站公司wordpress文章加密访问
  • 建一个网站多少钱黑帽seo培训大神
  • 免费移动网站模板c 做网站后端
  • 汕头网站制作多少钱低代码开发
  • 高定网站无锡网站建设方式
  • 自建站有哪些网站后台怎么做超链接
  • 中国南京网站石家庄关键词搜索引擎优化
  • 网站域名备案服务广州企业名录
  • 深州网站茂港网站开发公司
  • 网站后台 验证码错误怎么建设外贸网站
  • 宣传图制作网站电子电工技术工程网
  • 做网站可以用新建项目的方式吗衡阳网站排名优化费用
  • 网站首页鲁大师温州网站优化价格
  • 当当网的网站建设目标是包头网站开发建设
  • 东莞市阳光网首页win10最强优化软件
  • 网站验证码 php网站开发使用软件有哪些