Re[3]: auto_ptr и контейнеры
От: Lexey Россия  
Дата: 22.01.03 11:46
Оценка:
Здравствуйте, UgN, Вы писали:

К>>Проблема — в том, что auto_ptr единолично владеет объектом, на который указывает.


UgN>А зачем там флажок bool _Owns ?


Он используется при copy-конструировании auto_ptr, чтобы при передаче auto_ptr внуть функции он не порушил объект на выходе из нее.

К>>Поэтому при копировании/присваивании получается, что несколько auto_ptr'ов указывают (и, следовательно, монопольно владеют) одним объектом.


UgN>Они флажок переключают и объектом всегда только один владеет.


Это ничем не спасает в случае с stl-контейнерами, т.к. там после копирования разрушается не копия, а исходный указатель, который является оунером, и спокойно рушит объект.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.