РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
270 of 1245 menu

Метод shrink_to_fit

Метод shrink_to_fit уменьшает емкость вектора до его текущей длины. Если емкость больше длины, лишняя память освобождается. Метод не принимает параметров и не возвращает значения. После вызова емкость вектора становится равной его длине, однако это не гарантируется спецификацией - реализация может сохранить большую емкость, если это выгодно.

Метод полезен, когда вектор больше не будет расти, и вы хотите освободить неиспользуемую память.

Синтаксис

vec.shrink_to_fit();

Пример

Давайте создадим вектор с запасом емкости, а затем уменьшим его емкость до длины:

fn main() { let mut vec = Vec::with_capacity(10); vec.push(1); vec.push(2); vec.push(3); println!("len: {}, capacity: {}", vec.len(), vec.capacity()); vec.shrink_to_fit(); println!("len: {}, capacity: {}", vec.len(), vec.capacity()); }

Результат выполнения кода:

len: 3, capacity: 10 len: 3, capacity: 3

Пример

Давайте удалим элементы из вектора, а затем уменьшим его емкость:

fn main() { let mut vec = vec![1, 2, 3, 4, 5]; println!("len: {}, capacity: {}", vec.len(), vec.capacity()); vec.truncate(2); vec.shrink_to_fit(); println!("len: {}, capacity: {}", vec.len(), vec.capacity()); println!("{:?}", vec); }

Результат выполнения кода:

len: 5, capacity: 5 len: 2, capacity: 2 [1, 2]

Смотрите также

  • метод capacity,
    который возвращает текущую емкость вектора
  • метод reserve,
    который резервирует дополнительную память для вектора
  • метод with_capacity,
    который создает вектор с заданной емкостью
  • метод len,
    который возвращает количество элементов в векторе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить