Rustの所有権と借入の図による説明

以下は、Rustプログラミング言語での移動、コピー、および借用のグラフィカルな説明です 。 基本的に、これらの概念は多くの初心者にとって共通の障害であるRustにのみ固有のものです。



混乱を避けるために、テキストを最小限に抑えようとしました。 このメモは、さまざまなトレーニングマニュアルに代わるものではなく、情報が視覚的に簡単に認識されると考えている人のためにのみ作成されています。 Rustの研究を始めて、これらのグラフが有用であることがわかった場合は、概念をより統合するために、同様のスキームでコードをマークすることをお勧めします。



スキーム


写真はクリック可能で、拡大できます。 PNGSVG、またはPDFの形式で、翻訳なしのスキームを取得することもできます。


上の2つのスキームは、利用可能なデータセマンティクスの 2つの主要なタイプ移動またはコピー)を表しています。



2つの中心的なスキームは、所有するオブジェクトを借用する 2つの方法と、これらの各方法が提供するものを説明しています。



両方のスキームで、 はリンクの存続期間を指定するために選択した名前です。 現時点では、Rustには特定のライフタイムを記述する構文がないため、ギリシャ文字を具体的に使用しました。


最後の2つのスキームは、イメージの形式とテキストの形式の両方で、2種類のリンクの主な違いと共通の機能を示しています。 Cell似たものを通して内部的な可変性を持っている可能性があるため、指定子は「外側に」重要です。


翻訳者のメモ


翻訳とその後のレビューに協力してくれたAndrei Lesnikov@ozkiff )、Serhii Plyhun( @ snuk182 )、およびSergey Veselkov( @vessd )に感謝します。



Source: https://habr.com/ru/post/J322140/


All Articles