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

Метод leak

Метод leak класса Vec возвращает изменяемый срез &mut [T] элементов вектора. При этом вектор потребляется, а его память намеренно утекает: она больше не освобождается автоматически, даже когда возвращённый срез выйдет из области видимости. Метод не принимает параметров и используется в тех случаях, когда элементы должны жить в течение всей программы.

Синтаксис

vec.leak()

Пример

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

fn main() { let vec = vec![1, 2, 3, 4, 5]; let slice = vec.leak(); println!("{:?}", slice); }

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

[1, 2, 3, 4, 5]

Пример

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

fn main() { let vec = vec![1, 2, 3, 4, 5]; let slice = vec.leak(); slice[0] = 10; slice[1] = 20; println!("{:?}", slice); }

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

[10, 20, 3, 4, 5]

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

  • класс Vec,
    который представляет динамический массив
  • метод into_boxed_slice,
    который преобразует вектор в boxed-срез
  • метод as_slice,
    который возвращает срез элементов вектора
  • метод as_mut_slice,
    который возвращает изменяемый срез элементов вектора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить