Rust智能指針

智能指針是一種數據結構,其行爲類似於指針,同時提供內存管理或綁定檢查等附加功能。
智能指針可跟蹤其指向的內存,還可用於管理其他資源,如Fils句柄和網絡連接。
智能指針最初用於C++語言。
引用也是一種指針,但除了引用數據之外,它沒有其他功能。引用由&運算符表示。
智能指針提供的功能超出了參考提供的功能。 智能指針提供的最常見功能是「引用計數智能指針類型」。 此功能能夠通過跟蹤所有者來擁有多個數據所有者,如果沒有所有者,則可以清除數據。
引用是僅借用數據的指針,而智能指針是擁有它們指向的數據的指針。

智能指針的類型:

Rust智能指針

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