Skip to content

Commit 70a81d1

Browse files
committed
Formatted 规则
1 parent 0c92d39 commit 70a81d1

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

12-ownership-system/12-02-borrowing_references.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
**13.2 引用&借用(References&Borrowing)**
22
-------------
33

4-
如上所示,Owership让我们改变一个变量的值变的“复杂”,那能否像其他编程语言那样随意改变变量的值呢?答案是有的。
4+
如上所示,Owership让我们改变一个变量的值变得“复杂”,那能否像其他编程语言那样随意改变变量的值呢?答案是有的。
55
所有权系统允许我们通过“Borrowing”的方式达到这个目的。这个机制非常像其他编程语言中的“读写锁”,即同一时刻,只能拥有一个“写锁”,或只能拥有多个“读锁”,不允许“写锁”和“读锁”在同一时刻同时出现。当然这也是数据读写过程中保障一致性的典型做法。只不过Rust是在编译中完成这个(Borrowing)检查的,而不是在运行时,这也就是为什么其他语言程序在运行过程中,容易出现死锁或者野指针的问题。
66

77

@@ -33,10 +33,10 @@ fn main() {
3333

3434
###规则
3535

36-
**1. 同一时刻,最多只有一个可变借用(&mut T),或者2。**
37-
**2. 同一时刻,可有0个或多个不可变借用(&T)但不能有任何可变借用。**
38-
**3. 借用在离开作用域后释放。**
39-
**4. 在可变借用释放前不可访问源变量。**
36+
1. 同一时刻,最多只有一个可变借用(&mut T),或者2。
37+
2. 同一时刻,可有0个或多个不可变借用(&T)但不能有任何可变借用。
38+
3. 借用在离开作用域后释放。
39+
4. 在可变借用释放前不可访问源变量。
4040

4141
###可变性
4242
Borrowing也分“不可变借用”(默认,**&T**)和“可变借用”(**&mut T**)。

0 commit comments

Comments
 (0)