我的代码在那里不起作用!我读了一本 Rust 书。我读到如果你想删除一个值,你可以写 drop(name);
fn main() {
let n = 1;
std::mem::drop(n);
println!("{}", n);
}
Run Code Online (Sandbox Code Playgroud)
它在我的终端上运行,但为什么不n掉线?
Rust 有很棒的文档,请查看std::mem::drop. 我链接的这个网页的一些信息:
pub fn drop<T>(_x: T)\nRun Code Online (Sandbox Code Playgroud)\n\n\n处置一个值。
\n这是通过调用 Drop 的 argument\xe2\x80\x99s 实现来实现的。
\n这对于实现 Copy 的类型(例如整数)实际上没有任何作用。这些值被复制然后移动到函数中,因此该值在此函数调用后仍然存在。
\n这个功能并不神奇;它的字面定义是
\nRun Code Online (Sandbox Code Playgroud)\npub fn drop<T>(_x: T) { }\n由于 _x 被移入函数中,因此在函数返回之前它会自动删除。
\n