思维导图备注

深入浅出Rust
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

第二部分 内存安全

浏览 1 扫码
  • 小字体
  • 中字体
  • 大字体
2022-01-25 02:20:18
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 前言
  • 第一部分 基础知识
    • 第1章 与君初相见
      • 1.1 版本和发布策略
      • 1.2 安装开发环境
      • 1.3 Hello World
      • 1.4 Prelude
      • 1.5 Format格式详细说明
    • 第2章 变量和类型
      • 2.2 基本数据类型
      • 2.3 复合数据类型
    • 第3章 语句和表达式
      • 3.2 表达式
      • 3.3 if-else
    • 第4章 函数
      • 4.2 发散函数
      • 4.3 main函数
      • 4.4 const fn
      • 4.5 函数递归调用
    • 第5章 trait
      • 5.1 成员方法
      • 5.2 静态方法
      • 5.3 扩展方法
      • 5.4 完整函数调用语法
      • 5.5 trait约束和继承
      • 5.6 Derive
      • 5.7 trait别名
      • 5.8 标准库中常见的trait简介
      • 5.9 总结
    • 第6章 数组和字符串
      • 6.2 字符串
    • 第7章 模式解构
      • 7.2 match
      • 7.3 if-let和while-let
      • 7.4 函数和闭包参数做模式解构
      • 7.5 总结
    • 第8章 深入类型系统
      • 8.1 代数类型系统
      • 8.2 Never Type
      • 8.3 再谈Option类型
    • 第9章 宏
      • 9.2 示范型宏
      • 9.3 宏1.1
  • 第二部分 内存安全
    • 第10章 内存管理基础
      • 10.2 段错误
      • 10.3 内存安全
    • 第11章 所有权和移动语义
      • 11.2 移动语义
      • 11.3 复制语义
      • 11.4 Box类型
      • 11.5 Clone VS.Copy
      • 11.6 析构函数
    • 第12章 借用和生命周期
      • 12.2 借用
      • 12.3 借用规则
      • 12.4 生命周期标记
      • 12.5 省略生命周期标记
    • 第13章 借用检查
      • 13.1 编译错误示例
      • 13.2 内存不安全示例:修改枚举
      • 13.3 内存不安全示例:迭代器失效
      • 13.4 内存不安全示例:悬空指针
      • 13.5 小结
    • 第14章 NLL(Non-Lexical-Lifetime)
      • 14.1 NLL希望解决的问题
      • 14.2 NLL的原理
      • 14.3 小结
    • 第15章 内部可变性
      • 15.1 Cell
      • 15.2 RefCell
      • 15.3 UnsafeCell
    • 第16章 解引用
      • 16.1 自定义解引用
      • 16.2 自动解引用
      • 16.3 自动解引用的用处
      • 16.4 有时候需要手动处理
      • 16.5 智能指针
      • 16.6 小结
    • 第17章 泄漏
      • 17.1 内存泄漏
      • 17.2 内存泄漏属于内存安全
      • 17.3 析构函数泄漏
    • 第18章 Panic
      • 18.2 Panic实现机制
      • 18.3 Panic Safety
      • 18.4 小结
    • 第19章 Unsafe
      • 19.1 unsafe关键字
      • 19.2 裸指针
      • 19.3 内置函数
      • 19.4 分割借用
      • 19.5 协变
      • 19.6 未定义行为
      • 19.7 小结
    • 第20章 Vec源码分析
      • 20.1 内存申请
      • 20.2 内存扩容
      • 20.3 内存释放
      • 20.4 不安全的边界
      • 20.5 自定义解引用
      • 20.6 迭代器
      • 20.7 panic safety
  • 第三部分 高级抽象
    • 21.1 数据结构中的泛型
    • 21.2 函数中的泛型
    • 第22章 闭包
      • 22.1 变量捕获
      • 22.2 move关键字
      • 22.3 Fn/FnMut/FnOnce
      • 22.4 闭包与泛型
      • 22.5 闭包与生命周期
    • 21.3 impl块中的泛型
    • 第23章 动态分派和静态分派
      • 23.1 trait object
      • 23.2 object safe
      • 23.3 impl trait
    • 21.4 泛型参数约束
    • 第24章 容器与迭代器
      • 24.2 迭代器
    • 21.5 关联类型
    • 第25章 生成器
      • 25.2 对比迭代器
      • 25.3 对比立即求值
      • 25.4 生成器的原理
      • 25.5 协程简介
    • 21.6 何时使用关联类型
    • 第26章 标准库简介
      • 26.2 运算符重载
      • 26.3 I/O
      • 26.4 Any
    • 21.7 泛型特化
  • 第四部分 线程安全
    • 第27章 线程安全
      • 27.2 启动线程
      • 27.3 免数据竞争
      • 27.4 Send & Sync
    • 第28章 详解Send和Sync
      • 28.2 什么是Sync
      • 28.3 自动推理
      • 28.4 小结
    • 第29章 状态共享
      • 29.2 Mutex
      • 29.3 RwLock
      • 29.4 Atomic
      • 29.5 死锁
      • 29.6 Barrier
      • 29.7 Condvar
      • 29.8 全局变量
      • 29.9 线程局部存储
      • 29.10 总结
    • 第30章 管道
      • 30.1 异步管道
      • 30.2 同步管道
    • 第31章 第三方并行开发库
      • 31.1 threadpool
      • 31.2 scoped-threadpool
      • 31.3 parking_lot
      • 31.4 crossbeam
      • 31.5 rayon
  • 第五部分 实用设施
    • 32.1 cargo
    • 32.2 项目依赖
    • 第33章 错误处理
      • 33.1 基本错误处理
      • 33.2 组合错误类型
      • 33.3 问号运算符
      • 33.4 main函数中使用问号运算符
      • 33.5 新的Failure库
    • 32.3 模块管理
    • 第34章 FFI
      • 34.1 什么是FFI
      • 34.2 从C调用Rust库
      • 34.3 从Rust调用C库
      • 34.4 更复杂的数据类型
    • 第35章 文档和测试
      • 35.2 测试
  • 附录 词汇表
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《深入浅出Rust》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度