Resource management
R.33
Принимайте параметр `unique_ptr<widget>&` для выражения того, что функция переустанавливает `widget`
Причина
Использование unique_ptr таким образом документирует и закрепляет семантику переустановки при вызове функции.
Примечание
«Переустановка» (reseat) означает «заставить указатель или умный указатель ссылаться на другой объект».
Пример
void reseat(unique_ptr<widget>&); // «будет» или «может» переустановить указатель
Контроль
- (Простой) Предупреждать, если функция принимает параметр
Unique_pointer<T>по lvalue-ссылке и не присваивает ему значение и не вызывает на нёмreset()хотя бы на одном пути выполнения. Предлагать приниматьT*илиT&вместо этого.