Перейти к содержимому

Использовать дугу вместо вектора

Logan Smith

0:00 / 0:00

Использовать дугу вместо вектора

230 035 просмотров · 3 года назад
Logan Smith
50 тыс. подписчиков
230 035 просмотров · 3 года назад
Rust позволяет эффективно работать со строками и динамическими массивами с подсчётом ссылок, используя Arc, практически так же легко, как и их эквиваленты, владеющие (и поддерживающие глубокое клонирование), String и Vec соответственно. Так почему бы не использовать их в качестве разумного значения по умолчанию, пока вам действительно не понадобится изменяемость, которую предоставляют String и Vec? Давайте разберёмся в этом вместе со мной, покажем несколько отличных визуализаций и пригласим специального гостя из Box. Это видео предполагает наличие у вас некоторого опыта работы с Rust и его основными типами интеллектуальных указателей, а именно Vec/String/Rc/Arc/Box, а также со структурами данных, такими как HashMap и BTreeMap, и такими свойствами, как Clone, Hash, Ord и serde::{Serialize, Deserialize}. Флаг функции serde для Rc/Arc: https://serde.rs/feature-flags.html#-... Документация Arc: https://doc.rust-lang.org/std/sync/st... Документация Vec: https://doc.rust-lang.org/std/vec/str... Умные указатели в Rust:    • Crust of Rust: Smart Pointers and Interior...   Анимации: https://www.manim.community/