看了几天 rust, 总结了一句话关于生命周期

2023-05-03 11:09:22 +08:00
 iorilu
这个生命周期概念确实是 rust 独有

虽然这个理论并不新鲜, 但 rust 是强制,作为程序员必须明确知道所有变量或对象的生命周期,而不是靠编译器或语言自己推理

我总就一句话就是

这里我指一个复杂对象,里面可以有对别的对象引用

借我钱意思是引用我

我借别人钱意思是引用别人

所有借我钱的必须死我前面,这样我就能收回所有借出的钱

但我借别人钱我得死别人前面,这样就不用还钱

这样才能利益最大化啊。。
5203 次点击
所在节点    程序员
25 条回复
liuguang
2023-05-03 19:15:19 +08:00
别人借我钱,别人必须活的比我长。如果别人先死了,我持有的借用就无效了。
我借别人钱,我必须活的比别人长。如果我先死了,别人持有的借用就无效了。
这两个是一样的! A 借钱给 B ,那么 A 的生命周期>=B 的生命周期。
一个结构体的字段如果持有三个引用,那么这个结构体的生命周期<=生命周期最短的那个。这应该很好理解吧。
815979670
2023-05-03 21:16:09 +08:00
进程不是也是这个概念,父进程 必须比子进程活得长,子进程必须在父进程关闭之前结束掉(如果没结束也会自动结束)
fengjianxinghun
2023-05-04 11:22:46 +08:00
@Jirajine 类型系统比它强的多的是,其实好的部分就是 cargo 和 Resut/Option
lynnharry
2023-05-04 15:22:17 +08:00
@TWorldIsNButThis
程序再次跑到这里的时候,就复活了吧?我还见过的:
https://developer.android.com/guide/fragments/lifecycle
gp3098
2023-05-08 10:45:10 +08:00
我来我来
出来混,迟早要还的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/936977

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX