视频地址
头条地址:https://www.ixigua.com/i6775861706447913485
B站地址:https://www.bilibili.com/video/av81202308/
源码地址
github地址:https://github.com/anonymousGiga/learn_rust
讲解内容
1、实现Deref trait允许我们重载解引用运算符。意思就是,如果A实现了Deref trait,那么就可以写如下代码:
let a: A = A::new();
let b = &a;
let c = *b;//对A类型解引用
2、通过解引用使用指针的值。
例子:
fn main() {
let x = 5;
let y = &x;
assert_eq!(5, x);
assert_eq!(5, *y); //解引用
}
3、像引用一样使用Box<T>
例子:
fn main() {
let x = 5;
let y = Box::new(x);
assert_eq!(5, x);
assert_eq!(5, *y);
}