排他的参照

排他的参照は、可変参照とも呼ばれ、参照先の値を変更できる 参照です。型は &mut T です。

// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0

fn main() {
    let mut point = (1, 2);
    let x_coord = &mut point.0;
    *x_coord = 20;
    println!("point: {point:?}");
}

要点:

  • 「排他的」とは、この参照だけがその値へのアクセスに使用できることを意味します。他の 参照(共有または排他的)は同時に存在できず、排他的参照が存在する間は参照先の値に アクセスすることもできません。x_coord が有効な間に &point.0 を作成したり、 point.0 を変更したりしてみてください。

  • let mut x_coord: &i32let x_coord: &mut i32 の違いに注意してください。前者は異なる値に束縛できる 共有参照であり、後者は可変な値への排他的参照です。