Dışlayan (Exclusive) Referanslar

Değiştirilebilir referanslar (mutable reference) olarak da bilinen dışlayan (exclusive) referanslar, atıfta bulundukları (refer) değerin değiştirilmesine olanak tanır. Aynı zamanda, &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 5 minutes.

Anahtar noktalar:

  • “Dışlayan (exclusive)” kelimesinden kasıt, değere erişmek için yalnızca bu referansın kullanılabileceği, diğerlerinin dışlanacağıdır. Aynı anda başka hiçbir referans (paylaşılan veya dışlayan olsun farketmez) mevcut olamaz ve dışlayan referans (exclusive reference) 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şımlı bir referanstır (shared reference), ikincisi, değiştirilebilir bir değere (mutable value) dışlayan bir referanstır (exclusive reference).