Карточка Senior Типы значений и ссылочные обновлено

Модификаторы borrowing и consuming

Вопрос

Что означают модификаторы параметров borrowing и consuming?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

borrowing: функция временно получает значение только для чтения, вызывающий остаётся владельцем. consuming: функция забирает владение, вызывающий больше не может использовать значение. Обязательны для noncopyable-типов, для обычных помогают убрать лишние retain/release.

Ответ

borrowing: функция временно получает значение только для чтения, вызывающий остаётся владельцем. consuming: функция забирает владение, вызывающий больше не может использовать значение. Обязательны для noncopyable-типов, для обычных помогают убрать лишние retain/release.

Разбор

Связанный оператор consume x явно завершает жизнь локальной переменной.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.