Очистка вектора в Rust
Очистка удаляет каждый элемент: длина становится нулевой, проверка пустоты дает ответ да. Емкость при этом может остаться прежней, память под будущий рост не всегда отдают системе сразу.
После очистки в тот же список снова можно дописывать числа, не создавая новую переменную. Тип элементов сохраняется.
Очистим набор из трех чисел и проверим длину:
let mut nums = vec![10, 20, 30];
nums.clear();
println!("{}", nums.len());
println!("{}", nums.is_empty());
На экране 0 и true. Затем
можно снова наполнить список:
let mut nums = vec![1, 2];
nums.clear();
nums.push(9);
println!("{}", nums[0]);
Дан следующий вектор:
let mut nums = vec![4, 5, 6];
Уберите все элементы одной командой и выведите длину.
Дан следующий вектор:
let mut nums = vec![2, 2, 2];
Очистите список, допишите 1
и выведите единственный элемент.
Скажите, меняется ли емкость обязательно при очистке всех элементов.