未初始化内存

所有运行期分配的内存开始时都是"未初始化"状态。这种状态下内存的值是一组不确定的字节,甚至有可能不是使用这块内存的类型的合法值。将这段内存的值解析为任何类型都是未定义行为。千万不要这么做。

Rust提供了处理未初始化内存的方式,既有安全的方式也有非安全的方式。

安全方式:和C一样,所有栈上的变量在显式赋值之前都是未初始化的。而和C不同的是,Rust禁止你在赋值之前读取它们:fn main() { let x: i32; println!("{}", x);}src/main.rs:3:20: ...