结构需要一生,因为?

2023-12-03

(每条语句都标有?希望得到断言)

我只是慢慢地度过一生。

由于生命周期省略有助于省略明确描述生命周期(?)有些情况我们需要描述它们。

一个示例可能是包含引用的结构:

struct Person<a'>{
car: &'a Car
}

我对以下假设是否正确:

结构体是一种值类型 - 因此它的内存位于堆栈上。当使用该结构的作用域结束后,该结构就会消亡。但是由于这个结构体保存了对Car并且该引用可能会借用到其他地方 - 只要 Car 引用正在使用,该结构就需要保持活动状态。一生'a因此告诉 Person 结构体只要 Car 在使用中就保持活动状态。(?)

说实话,我自己都不相信上面的说法。因为在生锈寿命的其他定义中,我是这样理解的——汽车需要保持生命至少只要'a所以 Person 不会有悬空指针。


由于生命周期省略有助于省略明确描述生命周期(?)有些情况我们需要描述它们。

No As在这里,终身省略只是为了让你的生活更轻松(无论是作为作家还是读者)。生命周期仍然存在(语义上),但不需要明确表示(语法上)。

终身省略不起作用struct据我所知,定义。它适用于函数签名和函数体。

但由于该结构体保存了对 Car 的引用,并且该引用可能被借用到其他地方 - 只要 Car 引用正在使用,该结构体就需要保持活动状态。

不。一生的目标是避免悬空引用,并表示借用关系。

  • 悬空引用是指引用(长期)死值的引用,可能位于已释放的内存中或更糟糕的位于重用内存中。
  • 借用检查器使用借用关系来跟踪某人是否仍然拥有对某个值的引用;当某人拥有对某个值的引用时,不应将其移动或更改为另一种类型,以免所述引用变得悬空。

要更深入地解释悬空引用,我推荐这个问题.

因此,生命周期是为了确保引用永远不会超过它所引用的值。

因此,约束与你的信念相反:目标'a这里是让编译器确保你的Person永远不会比Car它指的是。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

结构需要一生,因为? 的相关文章

随机推荐

  • 事件触发之前的对象处置和垃圾收集

    与我交谈的某人提出了一段代码 private void DownloadInformation string id using WebClient wc new WebClient wc DownloadStringCompleted ne
  • 在java中实现抽象方法/类

    我可以在java中的抽象基类A中实现抽象方法吗 如果答案是肯定的 并且基类 A 中有一个已实现的抽象方法 并且有一个来自 A 的派生类 B B 不是抽象的 B 还必须实现那个基本抽象方法吗 如果我正确理解你的问题 是的 public abs
  • 在两个未在 twilio 中注册的号码之间拨打电话

    有什么方法可以在我的两个用户之间拨打电话吗 我的意思是 我有一个带有注册号码的 twilio 帐户 我必须给我的客户 Bill 打电话 所以当他接听电话时 电话应该重定向到 Bill 选择的另一个客户 让我们说 Joe 因此 比尔点击了一个
  • 使用静态函数实现特征对特征

    trait Trait
  • 如何在c#中从RGB555转换为RGB888?

    我需要将 16 位 XRGB1555 转换为 24 位 RGB888 我的函数如下 但它并不完美 即值 0b11111 将给出 248 作为像素值 而不是 255 该函数适用于小端 但可以轻松修改为大端 public static Colo
  • 工头没有反映变化

    我用这篇文章搭建了facebook app开发的开发环境 https devcenter heroku com articles facebook create an app除了 FOREMAN 之外 一切都很好 问题是 每次我在脚本中进行
  • 如何在matlab中绘制非线性微分方程

    Dx y Dy k y x 3 9 8 cos t inits x 0 0 y 0 0 这些是我想要绘制的微分方程 首先 我尝试求解微分方程 然后绘制图形 Dsolve Dx y Dy k y x 3 9 8 cos t inits 然而
  • android openFileOutput 有什么问题?

    我正在尝试使用 openFileOutput 函数 但它无法编译并且无法识别该函数 我使用的是android sdk 1 6 这是sdk的问题吗 这是参数问题吗 import java io FileOutputStream public
  • 约束最小二乘法

    我正在 R 中对人均天然气使用量进行简单回归 回归公式如下 gas b lt lm log gasq pop log gasp log pcincome log pn log pd log ps log years data gas sum
  • 带有图像和 2 TextView 的 TableRow

    我在做这样的事情时遇到问题 http imageshack us photo my images 824 examplehm png 我的 xml 代码在行中显示 3 列 但我想要 2 列 并且第二列必须分为两个水平部分 My xml
  • ffmpeg 中的多个命名管道

    这个问题是后续这个问题 在我的应用程序中 我想修改各种mp3 然后将它们混合在一起 我知道我可以在 FFmpeg 中使用单个命令行来完成此操作 但它最终可能会非常混乱 因为我需要在每个样本上使用各种过滤器 而我有五个过滤器 我的想法是单独编
  • Windows批处理文件-分割字符串以设置变量

    我觉得我在用 FOR 循环选项兜圈子 我试图获取一个字符串 命令的输出 并用逗号分隔它 然后使用每个值来设置 例如 String USER Andy IP 1 2 3 4 HOSTNAME foobar PORT 1234 所以我想用逗号分
  • SonarQube:扫描过程忽略 lcov.info

    我正在扫描ui项目 源代码位于typescript gulp test coverage产生 js文件 然后扫描其覆盖范围 每个 ts文件得到一个 js文件就在它旁边 在同一位置 我将扫描仪指向lcov info文件如下 sonar jav
  • jssor 与 Angular 2 Typescript

    我正在使用 Angular 2 开发一个网站 此时 我已经购买了 Jssor 的订阅 以便为运行到同一页面的 3 个以上单独的滑块生成图像滑块 我当前的问题是文档加载后生成的动态滑块 但未显示 我在 npmjs com 中找到了 jssor
  • 如何在R中绘制完整的图?

    我想在 R 中绘制完整的图表 我怎样才能做到这一点 我在 CRAN 上发现只有一个包具有生成完整图表的功能 但是这个包 即 RnavGraph 没有安装 而是以错误状态退出 进一步搜索似乎很困难 因为图的含义不同 图不仅与图结构相关 而且还
  • 修改颜色选择器面板

    我正在创建一个颜色选择器 需要修改其中一个颜色选择器面板 我想要的是 我想通过 RGB 字段输入输入值来设置颜色 问题是 RGB 值似乎被禁用 api 中是否有一种方法可以打开 RGB 输入以获取值 这里看起来不错 import javax
  • CSS3 中是否有相当于 jQuery 的 :first 选择器?

    我有以下标记 div class a div div class b div div class b div div class b div div class c div 我正在尝试瞄准first and last div 与类b 如果我
  • Firebase 9 + NextJS 12 - 预计 collection() 的第一个参数是 CollectionReference、DocumentReference 或 FirebaseFirestore

    我正在尝试在 NextJS 应用程序中创建一个简单的 Firestore 数据库查询 I have clientApp ts看起来像这样 import firebase compat auth import firebase compat
  • 将锁定的 std::unique_lock 移交给新线程

    考虑下面的例子 我创建了一个std mutex 锁定它 然后将锁交给另一个线程 include
  • 结构需要一生,因为?

    每条语句都标有 希望得到断言 我只是慢慢地度过一生 由于生命周期省略有助于省略明确描述生命周期 有些情况我们需要描述它们 一个示例可能是包含引用的结构 struct Person