Özel (Exclusive) Referanslar

Değiştirilebilir referanslar (mutable reference) olarak da bilinen özel (exclusive) referanslar, atıfta bulundukları (refer) değerin değiştirilmesine olanak tanır. &mut T türüne sahiplerdir.

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.

Anahtar noktalar:

  • "Özel (exclusive)", değere erişmek için yalnızca bu referansın kullanılabileceği anlamına gelir. Aynı anda başka hiçbir referans (paylaşılan veya özel olsun farketmez) mevcut olamaz ve özel referans (exclusive) varken atıfta bulunan değere erişilemez. x_coord hayattayken bir &point.0 oluşturmayı veya point.0'ı değiştirmeyi deneyin.

  • let mut x_coord: &i32 ve let x_coord: &mut i32 arasındaki farka dikkat ettiğinizden emin olun. Birincisi, farklı değerlere bağlanabilen (bind) paylaşılan bir referansı (shared reference) temsil ederken, ikincisi, değiştirilebilir bir değere (mutable value) özel bir referansı (exclusive reference) temsil eder (represent).