Rust 程式設計視訊教程(進階)——011_3 解引用多型

linghuyichong發表於2020-01-28

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

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

1、解引用強制多型
例子:接上面例子

fn hello(name: &str) { 
    println!("Hello, {}!", name); 
}

fn main() { 
    let m = MyBox::new(String::from("Rust")); 
    hello(&m); //此處解引用時,強制多型,將&String變為&str,否則的話此處需要:hello(&(*m)[..]); 
}

2、解引用多型與可變性互動
解引用多型有如下三種情況:

  • 當 T: Deref 時從 &T 到 &U。
  • 當 T: DerefMut 時從 &mut T 到 &mut U。
  • 當 T: Deref 時從 &mut T 到 &U。(注意:此處反之是不可能的)
本作品採用《CC 協議》,轉載必須註明作者和本文連結

令狐一衝

相關文章