当前位置: 首页 > news >正文

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编译器是个好老师。

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

http://www.dtcms.com/a/62485.html

相关文章:

  • 使用Mermaid语法绘制的C语言程序从Linux移植到Windows的流程图
  • Leetcode8-字符串转换整数(atoi)
  • 【技术白皮书】内功心法 | 第二部分 | Telnet远程登录的工作原理
  • 大模型:定义与主流架构全解析
  • 【TVM教程】为 Mobile GPU 自动调优卷积网络
  • SwiftUI 让视图自适应高度的 6 种方法(四)
  • Kubernetes Pod的生命周期概述
  • LearnOpenGL-笔记-其二
  • DeepSeek-实用集成大礼包
  • 基于某著名企业IPD与质量管理体系融合的研发质量管理方案(64页PPT)
  • 【保姆级教程】使用 oh-my-posh 和 clink 打造个性化 PowerShell 和 CMD
  • 十二天-双指针技术:链表问题的高效解法
  • springboot433-基于SpringBoot的流浪猫爱心救助系统(源码+数据库+纯前后端分离+部署讲解等)
  • Fast DDS Security--多方密钥协商协议
  • 人脸识别之数据集中 PI20 和 CFMT 之间关联的模型预测贝叶斯(Python+论文代码实现)
  • 接口使用实例和Object类及内部类
  • 本地部署 DeepSeek R1 的几种常见方法
  • 在 UniApp 开发的网站中使图片能够缓存,不一直刷新
  • 委外订单不能删除提示领料未发量不能小于零
  • 【 PyQt】事件的触发:信号与槽
  • GitHub 项目版本管理与 Release 发布流程记录
  • HTTPS工作原理与安全机制详解(仅供参考)
  • 【RabbitMQ】事务
  • 查看端口被占用命令
  • FX-函数重载、重写(覆盖)、隐藏
  • Rust与Cargo版本关系(Rust版本、rustc、rustup)
  • 信息安全意识之安全组织架构图
  • ubuntu 24.04通过Flatpak安装迅雷
  • Dom详解
  • 02 | 快速部署 fastgo 项目