小编Yur*_*lgn的帖子

什么是保持集合中借用值的Rust方法?

在这:

#[derive(Debug)]
struct Person {
    name: String,
}

fn main() {
    let mut persons = Vec::<Person>::with_capacity(3);
    let mut personrefs = Vec::<&Person>::with_capacity(persons.capacity());
    for x in 0..persons.capacity() {
        let person = Person {
            name: format!("Alice-{}", x),
        };
        personrefs.push(&person);
        persons.push(person);
    }
    println!("persons are {:#?}", persons);
}
Run Code Online (Sandbox Code Playgroud)

有点理解为什么Rust不允许推送&person,但Rust解决这个问题的方法是什么?

我有一个Vec"拥有" Person的,但我也想将人们映射到其他一些数据而不触及内存中的拥有Vec或复制Person.喜欢,有一个collections::HashMap<&Person, SomeOtherData>.如果同时HashMapVec具有相同的寿命,不会生锈知道什么时候取消分配PersonS'

rust

3
推荐指数
1
解决办法
60
查看次数

标签 统计

rust ×1