Dev Study
Rust コース

34. ライフタイムとは — 参照の有効期間

参照には「いつまで有効か」という期間があり、これをライフタイムと呼びます。参照の指す先の値がスコープを抜けて消えたのに参照だけが残ると、消えたデータを読む危険な状態(ダングリング参照)になるため、Rust はこれをコンパイル時に検出して拒否します。

借用チェッカーと呼ばれるコンパイラの仕組みが、「参照は、指している値より長生きできない」というルールをすべての参照について検査します。他の言語では実行時の不可解なバグになる解放済みメモリへのアクセスが、Rust では実行前にエラーとして見つかります。

「borrowed value does not live long enough」というエラーは、このルール違反の典型的なサインです。参照を値より長く生かそうとしていないか、スコープの形を確認してください。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

Rust
サンプルコードで身につける(5本) →

学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。

公式ドキュメントで詳しく ↗