Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpLfInr 27 of 288 menu
◀ ▶

Введение во времена жизни в Rust

Время жизни говорит, как долго ссылка имеет право смотреть на значение. Пока данные живы, ссылка на них безопасна; когда владелец исчезает, указатель должен исчезнуть раньше. Язык проверяет это при сборке, а не во время работы программы.

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

Особенно это важно, когда функция возвращает ссылку или когда структура хранит ссылку в поле. Без общего срока у входа и выхода можно случайно отдать указатель на память, которая уже освобождена. Проверка времени жизни отсекает такие места до запуска.

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить