Memory management 这是“std::mem::drop”的有效实现吗?

Memory management 这是“std::mem::drop”的有效实现吗?,memory-management,rust,destructor,Memory Management,Rust,Destructor,根据,std::mem::drop获取对象,接收其所有权,并调用其drop函数 这就是该代码的作用: fn my_drop<T>(x: T) {} fn main() { let x = 5; let y = &x; let mut z = 4; let v = vec![3, 4, 2, 5, 3, 5]; my_drop(v); } fn my_drop(x:T){ fn main(){ 设x=5; 设y=&x; 设mut

根据,
std::mem::drop
获取对象,接收其所有权,并调用其
drop
函数

这就是该代码的作用:

fn my_drop<T>(x: T) {}

fn main() {
    let x = 5;
    let y = &x;
    let mut z = 4;

    let v = vec![3, 4, 2, 5, 3, 5];

    my_drop(v);
}
fn my_drop(x:T){
fn main(){
设x=5;
设y=&x;
设mut z=4;
设v=vec![3,4,2,5,3,5];
我的尿滴(v);
}
这就是
std::mem::drop
所做的吗?除此之外,它还执行其他清理任务吗?

让我们看看:

#[内联]
#[稳定(feature=“rust1”,since=“1.0.0”)]
pub fn drop(x:T){}

#[inline]
提示编译器函数应该内联<代码>#[稳定]由标准库用于标记稳定通道上可用的API。否则,它实际上只是一个空函数!当
\ux
drop
返回时超出范围时,其析构函数运行;在Rust中,没有其他方法可以隐式执行清理任务。

您甚至不必查看源代码。从字面上看,函数中嵌入了函数的源代码。
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub fn drop<T>(_x: T) { }