Appearance
第 19 章 Unsafe
到目前为止,Rust 的设计让人觉得非常放心。利用类型系统消除空指针,简洁明了的“唯一修改权”原则,消除了野指针,还有各种智能指针可以使用,甚至可以利用同样的规则消除多线程环境下的数据竞争,这一切就像一组简洁的数学定理一样,构建了一整套清晰的“内存安全”代码的“世界观”。
但是这只是 Rust 的一部分。还有一些情况,编译器的静态检查是不够用的,它没办法自动推理出来这段代码究竟是不是安全的。这种时候,我们就需要使用 unsafe 关键字来保证代码的安全性。
本章简单介绍一下 Rust 的 unsafe 代码。