Rust 学习笔记(40)-高级trait

参考章节《Rust程序设计语言》第19.2章 高级 trait

本节我们将学习 trait 的一些高级用法,它们包括

  1. 关联类型
  2. 默认泛型类型参数
  3. 运算符重载
  4. 完全限定语法 <Type as Trait>::function(receiver_if_method, next_arg, ...);
  5. trait 中需要用到另一个 trait 的某个功能,说白了需要能够依赖相关的 trait 也被实现。
  6. newtype 模式(注意是模式,不是关键字)用于在外部crate 上实现 外部trait

Rust 学习笔记(39)-unsafe

参考章节《Rust程序设计语言》第19.1章 不安全 Rust
参考章节《Rust语言圣经(Rust Course)》第3.9.1章 五种兵器

目前为止讨论过的代码都有 Rust 在编译时会强制执行的内存安全检查。然而,Rust 还隐藏有第二种语言,它不会强制执行这类内存安全检查

说白了,我们可以让Rust不执行内存安全检查,这被称为 不安全 Rust(unsafe Rust)
此时,你就必须对代码的正确性负责,如果不安全代码出错了,比如解引用空指针,可能会导致不安全的内存使用。