gpt4 book ai didi

rust - 我该遵循哪个函数生命周期?还是作用域生命周期?

转载 作者:行者123 更新时间:2023-12-03 11:36:41 25 4
gpt4 key购买 nike

我该遵循哪个函数生命周期?还是作用域生命周期?

fn hello<'a>(name: &'a String) {
println!("hello {}", name)
}
在上面的这种情况下,似乎它的生命周期为 'a
所以,我当时考虑了一下,这对我来说是一个令人困惑的观点。
我来写代码
首先, 你好函数的生存期是 'a ,参数 也称为
所以我可以这样猜测:
你好的生存期与程序相同,
名称的生存期与程序相同吗?
我和所有人都会说 '否'
据我所知,很明显,函数结束时, 名称参数消失了。
但是,当 hello 函数消失时,name参数的生存期(即消失)就完成了!
如果是这样,那是胡说八道。
如何理解这一点?
我现在对此感到困惑。

最佳答案

就像<T>一样,<'a>是泛型的。这意味着只要name的引用有效期很长,它就可以保留任何生命周期。 'a是否而不是表示程序的生命周期,就像您似乎相信的那样。在这种情况下,'a只是函数的生存期。

关于rust - 我该遵循哪个函数生命周期?还是作用域生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64733755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com