mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-03-14 03:10:44 +08:00
Refining Ch04.
This commit is contained in:
parent
d6a3759844
commit
632b92bf61
@ -2,4 +2,4 @@
|
||||
|
||||
**Understanding Ownership**
|
||||
|
||||
所有权,ownership 作为 Rust 最为独特的特性,而对这门语言其余部分有着深刻影响。正是所有权,使得 Rust 在无需垃圾收集器的情况下,保证了内存安全,因此掌握所有权的工作原理,就尤为重要。在这一章,将就所有权,以及几个与所有权有关的特性:借用、切片,以及 Rust 在内存中放置数据的方式等,进行讲解。
|
||||
所有权是 Rust 最独特的特性,对语言的其他部分有着深刻的影响。他使 Rust 可以在不需要垃圾回收器的情况下,保证内存安全,因此了解所有权的工作原理非常重要。在本章中,我们将讨论所有权,以及几个相关特性:借用、切片,与 Rust 如何将数据放置于内存中。
|
||||
|
@ -1,12 +1,18 @@
|
||||
# 何谓所有权
|
||||
|
||||
*所有权* 是掌管着 Rust 程序管理内存方式的一套规则(*ownership* is a set of rules that governs how a Rust program manages memory)。所有程序在其运行期间,都必须管理其运用计算机内存的方式。一些语言有着伴随着其程序运行,而持续查找不再用到内存的垃圾回收;在别的一些语言中,程序员必须显式地分配和释放内存。Rust 采用了第三条路线:经由带有编译器会加以检查的一套规则的所有权系统,内存便得到了管理。在这些规则的任何一条被违反了时,程序就不会编译。所有权的任何一个特性,都不会在程序运行期间,拖慢程序运行速度。
|
||||
**What is Ownership**?
|
||||
|
||||
由于对许多程序员来说,所有权都是个新概念,因此要些时间来习惯他。好消息则是随着对 Rust 与那些所有权系统规则的愈加熟练,那么就会发现,顺其自然地开发出安全且高效的代码,会变得越来越容易。请务必坚持下去!
|
||||
|
||||
在掌握了所有权后,就会对那些令到 Rust 成为一门独特编程语言的特性,有扎实掌握。在本章中,将通过完成着重于甚为常见的一些数据结构:字符串的示例,而掌握到所有权。
|
||||
所谓 *所有权,ownership*,是一套掌管着 Rust 程序如何管理内存的规则。所有程序在其运行期间,都必须管理他们使用计算机内存的方式。有些语言有着可在程序运行时,定期查找不再使用的内存的垃圾回收;而在其他语言中,程序员则必须明确分配和释放内存。Rust 使用了第三种方法:通过带有编译器会检查的一套规则的所有权系统,内存得以管理。如果违反了任何规则,程序将不会编译。在程序运行过程中,所有权的所有特性,都不会减慢程序的运行速度。
|
||||
|
||||
> **内存栈与堆,the Stack and the Heap**
|
||||
由于对于许多程序员来说,所有权是个新概念,因此需要一些时间来适应。好消息是,咱们对 Rust 和所有权系统规则越有经验,咱们就会发现,自然而然地开发出安全高效的代码就越容易。请坚持下去!
|
||||
|
||||
当咱们理解了所有权,就为理解 Rust 独特的功能,打下了坚实的基础。在本章中,咱们将通过一些以字符串,这种常见数据结构为重点的示例,来掌握所有权。
|
||||
|
||||
|
||||
> **内存栈与堆**
|
||||
>
|
||||
> **The Stack and the Heap**
|
||||
>
|
||||
> 许多编程语言,都不要求进程考虑内存栈与堆。不过在像是 Rust 这样的系统编程语言中,某个值是在栈上还是在堆上,就会对语言的行为方式,造成影响,还会影响到不得不做出一些明确决定的理由。本章稍后将讲到的所有权的那些部分,是与内存栈和堆有关的,因此这里是关于他们的一点简要说明,作为预备知识。
|
||||
>
|
||||
|
Loading…
Reference in New Issue
Block a user