Re[5]: Применение unique_ptr
От: rusted Беларусь  
Дата: 12.03.14 11:39
Оценка:
Здравствуйте, Άнoним, Вы писали:

Ά>У меня практически везде "владеющие" указатели. Т.е. есть какой-то класс, в нем указатель на что-то другое, в конструкторе создается объект и в деструкторе удаляется. Никто больше его удалить не может.


Но в процессе эволюции кода явное удаление в деструкторе может потерятся. Лишняя мелочь, слежение за которой можно возложить на компилятор.

Ά>Но я вот чего не понимаю: этот unique_ptr можно только перемещать. Как же я в таком случае отдам адрес объекта, на который указывает unique_ptr, кому-то для каких-то действий, если его передавать как аргумент функции нельзя???


Ά>А если я его преобразую к обычному указателю и передам, то в чем тогда смысл уникальности?


Если для владеющих указателей использовать raii обертки (unique для уникальных, shared для разделяемых и т.д.), то в коде не остается явных вызовов delete. И тогда можно для себя ввести правило, что голый указатель — он всегда не владеющий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.