Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

مراجع حصرية

المراجع الحصرية (Exclusive references)، والمعروفة أيضًا بالمراجع القابلة للتغيير (mutable references)، تسمح بتغيير القيمة التي تشير إليها. نوعها هو &mut T.

fn main() {
    let mut point = (1, 2);
    let x_coord = &mut point.0;
    *x_coord = 20;
    println!("point: {point:?}");
}
This slide should take about 10 minutes.

نقاط رئيسية:

  • تعني “حصرية” (Exclusive) أن هذا المرجع فقط يمكن استخدامه للوصول إلى القيمة. لا يمكن أن توجد مراجع أخرى (مشتركة أو حصرية) في نفس الوقت، ولا يمكن الوصول إلى القيمة المشار إليها بينما المرجع الحصري موجود. جرب إنشاء &point.0 أو تغيير point.0 بينما x_coord موجود.

  • تأكد من ملاحظة الفرق بين let mut x_coord: &i32 و let x_coord: &mut i32. الأول يمثل مرجعًا مشتركًا (shared reference) يمكن ربطه بقيم مختلفة، بينما الثاني يمثل مرجعًا حصريًا (exclusive reference) لقيمة قابلة للتغيير (mutable value).