MST

星途 面试题库

面试题:Rust中Drop trait实现基础清理逻辑

请描述在Rust中如何通过实现Drop trait来释放自定义类型所占用的资源。假设我们有一个自定义类型`MyResource`,它在内部持有一个文件句柄(可以用`std::fs::File`模拟),请编写代码实现`Drop` trait,在`MyResource`实例被销毁时关闭文件句柄。
38.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::fs::File;

struct MyResource {
    file: File,
}

impl Drop for MyResource {
    fn drop(&mut self) {
        // 关闭文件句柄
        let _ = self.file.sync_all();
    }
}