錆には、「参照」と「箱入り参照」の2種類の参照があります。どちらのタイプの参照を使用すると、所有せずにメモリに保存されている値を参照できますが、異なるプロパティとユースケースがあります。

＆tによって示される参照は、参照される値のタイプであるため、メモリに保存されている値を借りることができます。参照は、新しいメモリを割り当てる必要がないため、値を渡すための軽量の方法です。彼らは次のようないくつかの重要なルールを持っています：

 - 参照は常に有効で範囲内でなければなりません。
 - 参照をnullにすることはできません。
 - 参照は、それが言及する値よりも長生きしてはなりません。

box <t>で示される箱入りの参照は、tは参照される値のタイプであり、ヒープ上の動的に割り当てられた値へのポインターです。箱入りの参照を使用すると、ヒープに割り当てられたオブジェクトに任意のサイズの値を保存でき、次のプロパティがあります。

 - ボックスのサイズ<t>はコンパイル時に知られており、ポインターのサイズに等しくなります。
 - ボックス<t>は所有価値です。つまり、ユニークな所有者がいて、自由に動き回ることができます。
 - ボックス<t>は、所有者が範囲外に出て、メモリを解放したときに扱うことができます。

一般的に、一時的に値を借りる必要がある場合は参照を使用し、ヒープに未知のサイズの値を保存する必要がある場合、または値を所有して自動的に取引する必要がある場合は、ボックス<t>を使用します。それが範囲外になったとき。
In Rust, there are two types of references: "references" and "boxed references". Both types of references allow you to refer to a value stored in memory without owning it, but they have different properties and use cases.

A reference, denoted by &T where T is the type of the value being referred to, allows you to borrow a value stored in memory. References are a lightweight way to pass values around, as they do not require allocating new memory. They have a few important rules, such as:

- A reference must always be valid and in scope.
- A reference cannot be null.
- A reference must not outlive the value it refers to.

A boxed reference, denoted by Box<T> where T is the type of the value being referred to, is a pointer to a dynamically allocated value on the heap. Boxed references allow you to store values of any size in a heap-allocated object, and they have the following properties:

- The size of a Box<T> is known at compile-time, and is equal to the size of a pointer.
- A Box<T> is an owned value, meaning that it has a unique owner and can be freely moved around.
- A Box<T> can be deallocated when its owner goes out of scope, freeing up memory.

In general, you would use a reference when you need to borrow a value temporarily, and a Box<T> when you need to store a value of unknown size on the heap, or when you need to own a value and have it automatically deallocated when it goes out of scope.