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

Метод capacity

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

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

Синтаксис

string.capacity()

Пример

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

fn main() { let s = String::new(); println!("{}", s.capacity()); }

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

0

Пример

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

fn main() { let s = String::from("abcde"); println!("{}", s.capacity()); }

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

5

Пример

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

fn main() { let s = String::with_capacity(10); println!("{}", s.capacity()); }

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

10

Пример

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

fn main() { let mut s = String::new(); println!("capacity: {}, len: {}", s.capacity(), s.len()); s.push_str("abcde"); println!("capacity: {}, len: {}", s.capacity(), s.len()); s.push_str("12345"); println!("capacity: {}, len: {}", s.capacity(), s.len()); }

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

capacity: 0, len: 0 capacity: 8, len: 5 capacity: 16, len: 10

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

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