Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion rustbook-ru/src/ch04-01-what-is-ownership.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ Rust выбирает другой путь: память автоматичес

Если вы слышали термины *поверхностное копирование* и *глубокое копирование* при работе с другими языками, концепция копирования указателя, длины и ёмкости без копирования данных, вероятно, звучит как создание поверхностной копии. Но поскольку Rust также аннулирует первую переменную, вместо того, чтобы называть это поверхностным копированием, это называется *перемещением*. В этом примере мы бы сказали, что `s1` был *перемещён* в `s2`. Итак, что на самом деле происходит, показано на рисунке 4-4.

<img src="img/trpl04-04.svg" class="center" style="width: 50%;" alt="Строка в памяти">
<img alt="Три таблицы: таблицы s1 и s2, представляющие эти строки в стеке соответственно, и обе указывающие на одни и те же строковые данные в куче. Таблица s1 выделена серым цветом, потому что s1 больше недействительна; только s2 можно использовать для доступа к данным кучи." src="img/trpl04-04.svg" class="center" style="width: 50%;">

<span class="caption">Рисунок 4-4: представление в памяти после того, как <code>s1</code> был признан недействительным</span>
Expand Down Expand Up @@ -261,4 +262,4 @@ Rust позволяет нам возвращать несколько знач
[раздел «Производные типажи»]: appendix-03-derivable-traits.html
[«Синтаксис метода»]: ch05-03-method-syntax.html#method-syntax
[ «Пути для обращения к элементу в дереве модулей»]: ch07-03-paths-for-referring-to-an-item-in-the-module-tree.html
[`drop`]: ../std/ops/trait.Drop.html#tymethod.drop
[`drop`]: ../std/ops/trait.Drop.html#tymethod.drop