小编gna*_*ash的帖子

如何转让字符串的所有权?

我是Rust新手,遇到类似以下问题几次:

fn main() {
    let mut as_str: Vec<&String> = Vec::new();
    for i in [1, 2, 3, 4, 5].iter() {
        let i_str = i.to_string();
        as_str.push(&i_str);
    }
}
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

<anon>:6:22: 6:27 error: `i_str` does not live long enough
<anon>:6         as_str.push(&i_str);
                          ^~~~~
Run Code Online (Sandbox Code Playgroud)

如何将字符串的所有权转移到向量(不想复制)?我需要一辈子吗?它应该是str还是String(假设我不想在向量中改变项本身)?

rust

5
推荐指数
1
解决办法
1391
查看次数

标签 统计

rust ×1