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

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

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

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

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

一般的に、一時的に値を借りる必要がある場合は参照を使用し、ヒープに未知のサイズの値を保存する必要がある場合、または値を所有して自動的に取引する必要がある場合は、ボックス<t>を使用します。それが範囲外になったとき。