ЛЕКЦІЯ 12

Основи володіння (Ownership) в Rust

План

  • Ownership правило
  • Move semitika
  • Копіювання примітивних типів

Ownership

Ownership

Тільки один власник змінної. Коли власник зникає, пам'ять звільняється.

Move: передача власництва

let s1 = String::from("hello");
let s2 = s1;  // s1 більше недоступна (MOVE)
// println!("{}", s1);  // Помилка!
println!("{}", s2);  // OK: s2 тепер власник

// Для примітивних типів: copy
let x = 5;
let y = x;  // x ВСЕ ЕЩЕ доступна (i32 — Copy type)
println!("{}", x);  // OK

Copy vs Move

Підсумки

  • Move: передача власництва
  • Copy: примітивні типи копіюються
  • Compiler запобігає use-after-free

Далі

Наступна лекція:

Лекція 13: Ownership детально

Дякую за увагу! 💾

← Повернутися до списку лекцій