Rust规律归纳随笔

1. 针对所有权规则:

唯一所有权 <------------> 智能指针(引用计数)<-------------->共享所有权

(引用计数)

{

单线程:Rc

多线程:Arc

}

2. 针对借用规则:

共享不可变(多读)<----->可变又共享(内部可变性)<----->可变不共享(独写,读写互斥)

内部可变性)

{

单线程:Cell, RefCell.

多线程: Mutex, RwLock, Atomic.

}

注:

(1)实现写代码时,若编程语言的规则是【不可变不共享】,那么我认为这门语言基本没啥用了。

(2)借用规则其实就是编译期和运行期的“读写锁机制”(前人总结,我摘抄)

3. 借用与生命周期:

核心思想:避免出现“悬垂指针”,注意rust引用也是指针,是一种受限的指针类型; A借用B, 则B的命(生命周期)必须大于等于A,则可以杜绝悬垂引用,反之则很可能会出现悬垂引用。

注:

(1)移动语义项的归纳:Rc, Arc, Cell, RefCell, Mutex, RwLock, Atomic等.

(2)遇到不明白,请写代码编译代码,rust编译器是个好老师。

注意:个人水平有限,难免谬误,欢迎指正,仅做参考,抛砖引玉;怕日后遗忘,故随笔记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值