萌新提问。
fn main() { let mut st = String::from("ssss"); let mut st_ = &mut st;
unsafe {
alloc::dealloc(st_.as_mut_ptr(), alloc::Layout::new::<String>());
}
mem::forget(st_);
mem::forget(st);
}
运行这段函数,我发现没有产生内存释放错误。
forget函数的意思是,不会尝试去释放它,而是直接忘记掉,这样不就造成了内存泄漏吗?
1
共 1 条评论, 1 页
评论区
写评论请参考 https://doc.rust-lang.org/std/mem/fn.forget.html