本系列錄制的視訊主要放在B站上Rust死靈書學習視訊
Rust 死靈書相關的源碼資料在https://github.com/anonymousGiga/Rustonomicon-Source
基于所有權的資源管理(OBRM)
OBRM(Ownership Based Resource Management),又被稱為RAII(Resource Acquisition is Initialization,資源擷取即初始化)。該模式簡單來說為:
- 如果要擷取資源,隻需要建立一個管理它的對象;
- 如果要釋放資源,隻要銷毀這個對象,該對象負責回收資源。
構造函數
建立一個自定義類型的執行個體的方法隻有一種:
- 先命名,再一次性初始化所有成員;
- 底層還是調用構造函數;
Rust中,指派和拷貝構造函數是不存在的,因為Rust類型中有且僅有移動語義。
Rust中提供了兩種和C++中的copy語義相似的功能:Copy和Clone。
析構函數
Rust通過Drop trait提供一個成熟的自動析構函數,該trait中包含以下方法:
fn drop(&mut self);
drop執行之後,Rust會遞歸的銷毀self的所有成員。