第5章 未初始化内存

处理未初始化内存

译文 · 基于 The Rustonomicon

未初始化内存

原文链接: https://doc.rust-lang.org/nomicon/uninitialized.html

  Rust 程序中所有运行时分配的内存,其生命之初都是未初始化的。此状态下,内存的值是不确定的比特堆,甚至可能不构成该内存位置应容纳类型的有效状态。试图将此内存解释为任何类型的值都会导致未定义行为。不要这么做。

  Rust 提供受检(safe)和未受检(unsafe)方式处理未初始化内存。


5.1 受检的未初始化

MaybeUninit 等受检方式

5.2 Drop 标志

Drop 标志如何跟踪初始化

5.3 未受检的未初始化

未受检地处理未初始化内存

最后修改 August 11, 2026: 更新 (70a5af133)