gpt4 book ai didi

rust - 是否可以返回在函数范围内创建的引用?

转载 作者:行者123 更新时间:2023-11-29 07:48:23 25 4
gpt4 key购买 nike

<分区>

我有一个相当简单的程序:

fn f<'a>() -> &'a i32 {
&1
}

fn main() {
println!("{}", f());
}

它不编译(省略了一些输出):

$ rustc test.rs
test.rs:2:6: 2:7 error: borrowed value does not live long enough
test.rs:2 &1

我明白为什么会失败。

  1. 我不知道如何返回在函数范围内创建的引用。有什么办法吗?
  2. 为什么单次返回不能省略生命周期?

编辑:我更改了标题,因为它建议返回盒装类型会有所帮助,但事实并非如此(见答案)。

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