Rust 内存布局浅析
Rust 内存布局浅析
Rust 的内存安全很大程度上依赖于编译期对所有权、生命周期和借用的检查。理解数据在内存中的排布,有助于写出更高效的代码。
基本类型
标量类型如 i32、f64、bool 都保存在栈上,大小固定:
let x: i32 = 42; // 4 字节
let y: bool = true; // 1 字节
复合类型
Tuple
Tuple 的元素在内存中连续存放:
let t: = ;
Struct
结构体字段默认按声明顺序排列,但编译器可能会进行字段重排以优化内存:
总结
掌握内存布局后,我们就能更合理地选择 Box、Vec、Rc 等类型,在安全性与性能之间取得平衡。