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

Метод with_capacity

Метод with_capacity создает новую пустую строку String с заранее выделенной емкостью в байтах. Параметром метод принимает число - желаемую емкость будущей строки. Это позволяет избежать повторных перевыделений памяти при постепенном добавлении символов.

Строка создается пустой, но буфер памяти под нее уже выделен. Длина строки при этом равна нулю, а емкость соответствует переданному значению.

Синтаксис

String::with_capacity(capacity)

Пример

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

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

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

length: 0 capacity: 10

Пример

Давайте создадим строку с запасом емкости и добавим в нее текст через push_str:

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

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

"abcde" capacity: 100

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

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

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