借用したデータの受け渡し
Rust の参照に関するルールは、以下のようにまとめられます。
- Rust では、可変な参照が 1 つだけか、不変な参照が複数かのどちらかが許可されます。両方を同時には使用できません。
- 参照は所有者よりも長く存在してはなりません。
これは関数へ参照を渡す際に問題となることはありません。
メモリの詳細:
- 参照の最初のルールはデータ競合を防ぎます。データ競合とは?
データを読み込む際、データへの書き込みが同時に行われると、同期が取れなくなる可能性があります。
これはマルチスレッドプログラミングでよく起こります。
- 参照の 2 番目のルールは、存在しないデータへの参照(C 言語ではダングリングポインタと呼ばれる)による誤動作を防ぐためのものです。