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

Метод capacity

Метод capacity возвращает текущую вместимость вектора, то есть количество элементов, которое вектор может хранить без дополнительного выделения памяти. Вместимость всегда больше или равна длине вектора. Метод не принимает параметров и возвращает значение типа usize.

Синтаксис

vec.capacity()

Пример

Давайте создадим вектор с помощью макроса vec! и выведем его вместимость:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let res = vec.capacity(); println!("{}", res); }

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

5

Пример

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

fn main() { let vec: Vec<i32> = Vec::new(); let res = vec.capacity(); println!("{}", res); }

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

0

Пример

Давайте создадим вектор с помощью метода with_capacity и сравним его длину и вместимость:

fn main() { let vec: Vec<i32> = Vec::with_capacity(10); println!("len: {}", vec.len()); println!("capacity: {}", vec.capacity()); }

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

len: 0 capacity: 10

Пример

Давайте посмотрим, как изменяется вместимость при добавлении элементов в вектор:

fn main() { let mut vec: Vec<i32> = Vec::new(); println!("capacity: {}", vec.capacity()); vec.push(1); println!("capacity: {}", vec.capacity()); vec.push(2); println!("capacity: {}", vec.capacity()); vec.push(3); println!("capacity: {}", vec.capacity()); }

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

capacity: 0 capacity: 4 capacity: 4 capacity: 4

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

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