基于所有权的资源管理 (OBRM) 的陷阱
OBRM(又称 RAII:资源获取即初始化)是你在 Rust 中经常会接触到的概念,尤其是在使用标准库时。
简单来说,该模式如下:要获取资源,你需要创建一个管理该资源的对象。要释放资源,你只需销毁该对象,它就会为你清理资源。这种模式管理的最常见“资源”就是内存。Box
、Rc
以及 std::collections
中的所有内容都是为了方便正确管理内存。这在 Rust 中尤为重要,因为我们没有可依赖的垃圾回收机制来进行内存管理。这正是 Rust 的意义所在:控制。然而,我们并不局限于内存。几乎所有其他系统资源,如线程、文件或套接字,都是通过这种 API 公开的。