diff --git a/src/scope/move/partial_move.md b/src/scope/move/partial_move.md index 79b3e70b..a038e2f1 100644 --- a/src/scope/move/partial_move.md +++ b/src/scope/move/partial_move.md @@ -46,12 +46,19 @@ fn main() { println!("The person's age from person struct is {}", person.age); } ``` + +この例では、`age`変数をヒープ上に保持し、部分的ムーブを説明しています。 +上記コードで`ref`を削除すると、`person.age`の所有権が`age`変数にムーブされるため、エラーになります。 +もしも`Person.age`がスタック上に保持されていたら、 +`age`の定義が`person.age`をムーブすることなくデータをコピーするので、 +`ref`は必須ではないのですが、実際にはヒープ上に保持されているため`ref`は必須です。