TGViewer
Rust Rust @rust_code · 8.92K subscribers
Post #1292 3.75K
Copy vs Clone в Rust: почему использование одногр почти не ест ресурсы а другое может стоить вам дорого

В Rust Copy и `Clone` часто воспринимают как одно и то же: «ну, просто сделать копию».

Но разница принципиальная.

Copy - это когда значение можно безопасно продублировать как набор байтов. Без вызова кода, без выделения памяти, без скрытой логики. Поэтому u32, bool, char, f64 и другие простые типы спокойно копируются автоматически.

Вы передали u32 в функцию - старое значение осталось доступно. Rust просто скопировал число.

С Clone другая история.

Clone означает: «создай новое значение такого же типа». А как именно это сделать, решает сам тип. Иногда это тоже дешево. Но иногда clone() запускает полноценную работу: выделяет память, копирует данные, пересобирает внутреннюю структуру.

Самый понятный пример - String.

Если бы Rust просто скопировал байты самой структуры String, мы получили бы два владельца одного и того же буфера в памяти. Это сломало бы модель владения.

Поэтому String::clone() создает новый буфер и копирует туда текст. Это уже не бесплатная операция.

Главная мысль простая:

Copy - для типов, которые можно безопасно копировать как байты.

Clone - для типов, которым может понадобиться настоящая работа, чтобы создать независимую копию.

Поэтому в Rust clone() в коде стоит замечать. Не паниковать, но понимать: здесь может быть цена.
  • 🔥 16
  • ❤ 8
  • 👍 7
  • 🗿 5
  • 🥰 1
  • 🤗 1
More from @rust_code
  1. Sep 20, 2026Zero cost
  2. Sep 19, 2026🦀 NVIDIA официально идёт в native GPU programming на Rust Теперь CUDA Rust позволяет писа…
  3. Sep 18, 2026yagni
  4. Sep 17, 2026🦀 Rust Pinning без магии: `Pin`, `Unpin` и `Future::poll` Одна из самых сложных тем в Rus…
  5. Sep 17, 2026Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250…
  6. Sep 17, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →