Deref DerefMut

std::ops::Derefstd::ops::DerefMut 特徵用於過載引用運算子*x。對於 AB 型別,

impl Deref<Target=B> for A

表示取消引用 &A 的繫結將產生 &B 和,

impl DerefMut for A

表示取消引用 &mut A 的繫結將產生 &mut B

Deref(resp.DerefMut)還提供了一個名為 deref coercion 的有用語言功能,它允許 &A(resp.&mut A)自動強制轉換為 &B(分別為 &mut B)。這通常在從 String 轉換為 &str 時使用,因為 &String 根據需要被隱式強制轉換為 &str

注意:DerefMut 不支援指定結果型別,它使用與 Deref 相同的型別。

注意:由於使用了相關型別(與 AsRef 不同),給定型別最多隻能實現一次 DerefDerefMut