Rust 程式設計視訊教程(進階)——011_1 解引用介紹

linghuyichong發表於2020-01-28

頭條地址:https://www.ixigua.com/i677586170644791348...
B站地址:https://www.bilibili.com/video/av81202308/

github地址:https://github.com/anonymousGiga/learn_rus...

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
例子:

fn main() {
    let x = 5;
    let y = Box::new(x);
    assert_eq!(5, x);
    assert_eq!(5, *y);
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結

令狐一衝

相關文章