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

Функция new

Функция new класса Rc создаёт новый умный указатель с подсчётом ссылок. Она принимает значение, которое необходимо разместить в куче, и возвращает экземпляр Rc, владеющий этим значением. При создании счётчик сильных ссылок устанавливается в единицу.

Синтаксис

Rc::new(value)

Пример

Давайте создадим умный указатель Rc, содержащий число 5, и выведем его значение:

use std::rc::Rc; fn main() { let rc = Rc::new(5); println!("{}", rc); }

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

5

Пример

Давайте создадим умный указатель Rc, содержащий строку "abcde", и выведем её значение:

use std::rc::Rc; fn main() { let rc = Rc::new("abcde"); println!("{}", rc); }

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

"abcde"

Пример

Давайте создадим умный указатель Rc и клонируем его, чтобы увидеть, как увеличивается счётчик сильных ссылок:

use std::rc::Rc; fn main() { let rc1 = Rc::new(5); let rc2 = Rc::clone(&rc1); println!("{}", Rc::strong_count(&rc1)); println!("{}", Rc::strong_count(&rc2)); }

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

2 2

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

  • класс Rc,
    который представляет умный указатель с подсчётом ссылок
  • метод clone,
    который увеличивает счётчик ссылок и возвращает новый указатель
  • метод strong_count,
    который возвращает количество сильных ссылок
  • класс Rc,
    который позволяет разделять владение данными между частями программы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить