小编Waz*_*med的帖子

如果重新分配,Rust 什么时候会删除该值?

struct Item {
    name: String,
}

impl Item {
    fn new(x: &str) -> Item {
        Item { name: String::from(x) }
    }

    fn change_name(&mut self, x: &str) {
        self.name = String::from(x);
    }
}

fn main() {
    let mut item1 = Item::new("Foo");
    item1.change_name("Bar");
}
Run Code Online (Sandbox Code Playgroud)

当我调用 时,分配给先前的item1.change_name()会发生什么。什么时候会被叫到?这会泄漏内存吗?String("Foo")namedrop()String("Foo")

rust

2
推荐指数
1
解决办法
1282
查看次数

标签 统计

rust ×1