上代码:
use std::ops::Drop;
struct D(i32);
impl Drop for D {
fn drop(&mut self){
println!("destruct {}", self.0);
}
}
fn main() {
let _x = D(1);
let _x = D(2); //_x被遮蔽了(variable shadow here)
println!("-----------");
}
//运行程序,注意查看fn drop的输出,即可知道结论。
/*-----------
destruct 2
destruct 1
*/
//实践出真知。
文章标题即是我的结论,如有谬误希望指教。