Comprehensive Rust(繁体中文) 2024062018。 – 這些版本可針對語言進行回溯不相容的變更。 – 為避免破壞程式碼,版本皆為自行選擇採用:您可以透過 Cargo.toml 檔案選擇所需版本。 – 為避免分割生態系統,Rust 編譯器可混合寫給不同版本的程式碼。 – 請說明很少會略過 cargo 直接使用編譯器,大部分使用者都不會這麼做。 – It might be worth alluding that Cargo itself x_axis(x: i32) -> &(i32, i32) { let point = (x, 0); return &point; } • 參照可說是「借用」自身參照的值,對不熟悉指標的學生而言,這是不錯的模型,因為程式碼可以使用 參照來存取值,但仍歸原始的變數所「擁有」。本課程將在第 3 天進一步說明擁有權。 • 參照需以指標的形式實作,主要優點是大小會比指向的目標小得多。熟悉 C 或 C++ 的學生會覺得參 會利用垃圾收集器來識別並捨棄無法再存取的記憶體。這能確保任何指標都 可以取消參照,進而消除 UAF (使用已釋放記憶體) 和其他類別的錯誤。不過,GC 會耗費執行階段 成本,且很難正確調整。 在許多情況下,Rust 的擁有權和借用模型效能都能媲美 C 語言,並在必要處精準分配及釋放,達成零成 本作業。Rust 也提供類似 C++ 智慧指標的工具。如有需要,您還可以使用參照計數等其他選項,而且甚至 還有第三方 Crate,可支援執行階段的垃圾收集作業0 码力 | 356 页 | 1.41 MB | 1 年前3
共 1 条
- 1













