参照の有効性

Rust では、参照を常に安全に使用できるようにするための、参照に関する いくつかのルールが適用されます。その 1 つは、参照は決して null に ならないというルールで、これにより null チェックなしで安全に使用 できます。もう 1 つ、ここで見ておくルールは、参照の寿命が、参照先の データの寿命を 超える ことはできない、というものです。

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

fn main() {
    let x_ref = {
        let x = 10;
        &x
    };
    dbg!(x_ref);
}
  • このスライドは、Rust の参照には他の言語とは異なるルールがあるため、 学生に参照を単なるポインタではないものとして考えさせます。

  • Rust の借用ルールの残りについては、Rust の所有権システムを扱う 3 日目に 見ていきます。

さらに調べるには

  • Rust における null 許容性に相当するものは Option 型であり、これを使うと 任意の型を「null 許容」にできます(参照/ポインタだけではありません)。 ただし、まだ enum やパターンマッチは導入していないので、ここではあまり 詳しく立ち入らないようにしてください。