Rust编程进阶:034、drop提前释放

有时候我们需要提前drop一些对象(释放内存),本节就是讲怎么做这个。例子:

struct Dog {
    name: String,
}

impl Drop for Dog {
    fn drop(&mut self) {
        println!("{} leave", self.name);
    }
}

// rust提供了std::mem::drop()
fn main() {
    let a = Dog {
        name: String::from("wangcai"),
    };
    let b = Dog {
        name: String::from("dahuang"),
    };
    // b.drop();
    drop(b);
    drop(a);

    println!("0 ++++++++++++++++++++++");
}

本节全部源代码:
https://github.com/anonymousGiga/learn_rust/blob/master/learn_drop1/src/main.rs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章