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

Емкость вектора в Rust

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

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

Сравним длину и емкость у короткого набора:

let nums = vec![10, 20, 30]; println!("{}", nums.len()); println!("{}", nums.capacity());

Длина равна 3. Емкость на экране не меньше длины и часто больше нее. У пустого списка с заданным типом длина нулевая, емкость смотрят отдельно:

let nums: Vec<i32> = Vec::new(); println!("{}", nums.len()); println!("{}", nums.capacity());

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

let nums = vec![1, 2];

Выведите длину и емкость nums.

Объявите пустой изменяемый список целых чисел, допишите в него 10 и выведите длину и емкость.

Скажите, чем емкость отличается от длины списка.

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