深入理解 Rust 所有权
Rust 的“所有权”据称是导致 Rust 学习曲线陡峭的一个重要原因。本文我们以《Rust 程序设计语言》一书的第 4 章节作为蓝本介绍一下这部分知识,在介绍的过程中会补充一些重要的解读便于读者更好地理解。1. 知识储备:堆 栈先解释一下:为什么了解所有权需要储备堆栈的知识?这一点,《Rust 程序设计语言》一书并没有给读者一个“前情提要”式的解释,而是一上来就介绍堆栈的工作原理,从讲解的角度看这做得不够好。实际上,通过后续的学习我们会发现:在 Rust 语言层面上,一个变量在离开作用域时是否会自动释放,以及所有权的 move 与变量是在栈上还是堆上没有必然的关系,但是,如果不从更底层去了解变量创建和销毁的过程很难理解建立这些机制的动机以及它们能发挥作用的根本原因。这就是为什么所有介绍 Rust 所有权的文章都要求读者具备一定堆栈知识的原因。关于堆栈,对于 C/C++ 程序员来说会比较熟悉,因为 C/C++ 中的指针、智能指针、对象的创建和销毁等机制都要求开发者必须了解堆栈,对于 Rust 也是一样的。而对于 Java、Python 等语言的程序员来说,由于这些语言拥有 GC 机制,不需要开发者负责对象释放时的资源清理工作,所以对堆栈的了解可能就薄弱一些。由于堆栈是一个比较大的话题,我们不能在本文展开介绍,这会让读者失去本文关注的焦点。好在,此前的

相关新闻

最新新闻

日新闻

周新闻

月新闻