看板 Marginalman 關於我們 聯絡資訊
: 從入門到入門 1. 只要不是借用 非基本類型的變數就會在function使用過轉移所有權 導致原本變數失效 fn output_string(name: String) { println!("{}", name); } fn main() { let a = String::from("abc"); output_string(a); println!("{}", a); // 編譯失敗,a已經轉移所有權給name並失效 } 2. Stack Frame Stack Frame會記錄該Stack擁有的變數與其內容 Rust會在每個Stack Frame離開後釋放該Stack中擁有所有權的變數 3.下列哪一項不是一種未定義的行為? A. 使用指向已釋放記憶體的指標 B. 在 stack frame 中具有指向已釋放記憶體的指標 C. 再次釋放相同的記憶體 D. 使用非布林值作為條件if 答案是B 指向已釋放記憶體的指標不是未定義行為 使用已釋放記憶體的指標才是 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.172 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1742544252.A.A71.html ※ 編輯: yam276 (60.248.143.172 臺灣), 03/21/2025 16:04:55