Resource management
R.4
Сырая ссылка (`T&`) не владеет объектом
Причина
Ни стандарт C++, ни большинство кода не утверждают иного; большинство сырых ссылок не владеют объектами. Мы хотим, чтобы владельцы были идентифицированы — это позволит надёжно и эффективно удалять объекты, на которые указывают владеющие указатели.
Пример
void f()
{
int& r = *new int{7}; // плохо: сырая ссылка-владелец
// ...
delete &r; // плохо: нарушение правила о запрете удаления сырых указателей
}
Смотрите также: Правило о сырых указателях
Контроль
Смотрите правило о сырых указателях.