加载中...

所有权(Ownership)与借用(Borrowing)是 Rust 语言的核心内存管理模型,使其在没有垃圾回收器的前提下于编译期保证内存安全与线程安全。这套机制吸收了 C++ 的 RAII 与学术界仿射类型、区域推断等研究成果,是 Rust 区别于其他主流语言的标志性设计。
所有权三条基本规则:每个值有且只有一个所有者;所有权可以转移(Move),转移后原变量失效;所有者离开作用域时值被自动释放(Drop)。为避免频繁转移,Rust 提供借用:不可变引用 &T 可同时存在多个,可变引用 &mut T 同一时刻只能有一个,且二者不能共存。借用检查器在编译期依据生命周期验证引用绝不悬垂。
这套模型静态消灭了悬垂指针、二次释放、迭代器失效等内存错误,并在编译期阻止数据竞争,也是 Linux 内核、Android、Windows 部分组件引入 Rust 的核心理由。代价是学习曲线陡峭;自引用结构、图等场景需借助 Rc/RefCell、unsafe 或竞技场分配等手段绕行。其思想也影响了 Mojo、Swift 等语言的演进。

登录 后参与讨论
暂无讨论,来发表第一条评论吧