File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- ** 所有权(Owership )**
1+ ** 所有权(Ownership )**
22-------------
33在进入正题之前,大家先回忆下一般的编程语言知识。
44对于一般的编程语言,通常会先声明一个变量,然后初始化它。
@@ -18,7 +18,7 @@ int* foo() {
1818所以,内存安全和内存管理通常是程序员眼中的两大头疼问题。令人兴奋的是,Rust却不再让你担心内存安全问题,也不用再操心内存管理的麻烦,那Rust是如何做到这一点的?请往下看。
1919
2020### ** 绑定(Binding)**
21- ** 重要** :首先必须强调下,准确地说Rust中并没有变量这一概念,而应该称为` 标识符 ` ,目标` 资源 ` (内存,存放value)` 绑定 ` 到这个` 资源 ` :
21+ ** 重要** :首先必须强调下,准确地说Rust中并没有变量这一概念,而应该称为` 标识符 ` ,目标` 资源 ` (内存,存放value)` 绑定 ` 到这个` 标识符 ` :
2222``` rust
2323{
2424 let x : i32 ; // 标识符x, 没有绑定任何资源
Original file line number Diff line number Diff line change @@ -8,12 +8,12 @@ Rust语言号称,只要编译通过就不会崩溃(内存安全);拥有
88
99所有权系统,包括三个重要的组成部分:
1010
11- - ** Owership ** (所有权)
11+ - ** Ownership ** (所有权)
1212- ** Borrowing** (借用)
1313- ** Lifetimes** (生命周期)
1414
1515这三个特性之间相互关联,后面章节会依次全面讲解。
1616
1717> ** 提示:**
18- > Rust的所有权系统对很多初学者来说,可能会觉得难以理解,Rust的内存检查是在编译阶段完成,这个检查是非常严谨的,所以初学者是在编译代码的时候 ,刚开始可能很难一次编译通过。
18+ > Rust的所有权系统对很多初学者来说,可能会觉得难以理解,Rust的内存检查是在编译阶段完成,这个检查是非常严谨的,所以初学者在编译代码的时候 ,刚开始可能很难一次编译通过。
1919> 不过不要害怕:),当你一旦了解熟悉它后你会喜欢上它,并且在日后的编程中受益颇多。所有权系统需要读者慢慢体会其中的奥秘,学习过程中也可以参考官方文档。
You can’t perform that action at this time.
0 commit comments