Rust教學
Rust下載和安裝
Rust簡介
Rust Hello World
Rust的特點
Rust註釋
Rust開發環境安裝
Rust文檔
Rust第一個程序
Rust格式化打印
Rust調試
Rust顯示
測試用例:列表
Rust格式化
Rust原語
Rust常量和運算符
Rust元組
Rust數組和切片
Rust自定義類型
Rust結構
Rust可視性
Rust枚舉
Rust常量
Rust變量綁定
Rust變量綁定-可變性
Rust變量綁定-範圍和陰影
Rust變量綁定-聲明
Rust類型轉換
Rust類型轉換 - 字面量
Rust類型轉換-推導
Rust類型轉換 - 別名
Rust表達式
Rust if/else語句
Rust循環
Rust嵌套和標籤
Rust while循環
Rust for和範圍
Rust匹配/match
Rust匹配析構元組
Rust解構枚舉
Rust指針和引用
Rust解構結構
Rust Guards
Rust綁定
Rust if let
Rust while let
Rust函數
Rust方法
Rust閉包
Rust捕捉
Rust作爲輸入參數
Rust匿名類型
Rust輸入函數
Rust作爲輸出參數
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>
是一個智能指針,允許借用可變數據,即使數據是不可變的。這個過程被稱爲內部可變性。