Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmOwCl 246 of 373 menu
◀ ▶

Явная копия вектора в Rust

Вектор при обычной записи во вторую переменную переходит целиком, и первое имя отключается. Если нужны два независимых списка с одинаковым содержимым, данные копируют явной командой clone. Тогда обе переменные остаются живыми и не мешают друг другу.

Создадим вектор и получим вторую копию списка:

let a = vec![1, 2]; let b = a.clone(); println!("{}", a[0]); println!("{}", b[1]);

На экране 1 и 2. Изменение одного списка не затрагивает другой, потому это два отдельных владельца. Для чисел такая команда не нужна: там срабатывает обычное копирование при записи.

let nums = vec![3, 3]; let twin = nums.clone(); println!("{}", nums.len()); println!("{}", twin.len());

Дан следующий код:

let src = vec![8, 9]; let dst = src;

Переделайте программу так, чтобы после записи работали оба имени, и выведите сумму элементов из каждого списка.

Дан следующий код:

let a = vec![2, 4, 6];

Получите вторую переменную с тем же содержимым, оставьте a рабочей и выведите длину обоих списков.

Скажите, нужна ли явная копия, если во вторую переменную записывают целое число 15.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить