Здравствуйте, UgN, Вы писали:
К>>Проблема — в том, что auto_ptr единолично владеет объектом, на который указывает.
UgN>А зачем там флажок bool _Owns ?
Он используется при copy-конструировании auto_ptr, чтобы при передаче auto_ptr внуть функции он не порушил объект на выходе из нее.
К>>Поэтому при копировании/присваивании получается, что несколько auto_ptr'ов указывают (и, следовательно, монопольно владеют) одним объектом.
UgN>Они флажок переключают и объектом всегда только один владеет.
Это ничем не спасает в случае с stl-контейнерами, т.к. там после копирования разрушается не копия, а исходный указатель, который является оунером, и спокойно рушит объект.