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

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