(每个标有 的语句? 都希望被断言)
我只是慢慢来。
由于生命周期省略有助于省略明确描述生命周期( ? ),因此在某些情况下我们需要描述它们。
一个例子可能是一个包含引用的结构:
struct Person<a'>{
car: &'a Car
}
我对以下假设是否正确,
老实说,我不相信自己的上述说法。因为在 Rust 生命周期的其他定义中,我是这么理解的 - 汽车需要至少与 'a 一样长,这样 Person 就不会有悬空指针。
最佳答案
不 在这里,终身省略只是让您的生活更轻松(作为作家和读者)。生命周期仍然存在(语义上)但不需要明确表示(语法上)。
据我所知,终身省略在 struct
定义中不起作用。它适用于函数签名和正文。
不。lifetime 的目标是避免悬空引用,并指示借用关系。
有关悬空引用的更深入解释,请访问 I recommend this question 。
因此,生命周期是为了确保引用永远不会超过它所引用的值。
因此,约束与您的信念相反:此处
'a
的目标是让编译器确保您的 Person
永远不会超过它所引用的 Car
。关于结构需要一个生命周期,因为?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35772635/