Rust智慧指標


智慧指標是一種資料結構,其行為類似於指標,同時提供記憶體管理或系結檢查等附加功能。
智慧指標可跟蹤其指向的記憶體,還可用於管理其他資源,如Fils控制代碼和網路連線。
智慧指標最初用於C++語言。
參照也是一種指標,但除了參照資料之外,它沒有其他功能。參照由&運算子表示。
智慧指標提供的功能超出了參考提供的功能。 智慧指標提供的最常見功能是「參照計數智慧指標型別」。 此功能能夠通過跟蹤所有者來擁有多個資料所有者,如果沒有所有者,則可以清除資料。
參照是僅借用資料的指標,而智慧指標是擁有它們指向的資料的指標。

智慧指標的型別:

  • Box <T>Box <T>是一個智慧指標,指向在型別為T的堆上分配的資料,其中「T」是資料的型別。它用於將資料儲存在堆上而不是堆疊上。
  • Deref <T>Deref <T>是一個智慧指標,用於自定義解除參照運算子(*)的行為。
  • Drop <T>Drop <T>是一個智慧指標,用於在變數超出範圍時從堆記憶體中釋放空間。
  • Rc <T>Rc <T>代表參考計數指標。它是一個智慧指標,用於記錄儲存在堆上的值的參照數。
  • RefCell <T>RefCell <T>是一個智慧指標,允許借用可變資料,即使資料是不可變的。這個過程被稱為內部可變性。