Шаг 70.
Библиотека STL. Вспомогательные средства. Описание класса auto_ptr. Модификация принадлежащего объекта
На этом шаге мы рассмотрим способы модификации принадлежащего объекта.
Т* auto_ptr::release () throw()
- Экземпляр auto_ptr перестает быть владельцем объекта.
- Возвращает адрес объекта, принадлежавшего auto_ptr перед вызовом (если он был).
- Если перед вызовом экземпляр auto_ptr не владел объектом, возвращается null-указатель.
void auto_ptr:: reset (T* ptr = 0) throw()
- Заново инициализирует экземпляр auto_ptr по переданному указателю ptr.
- Вызывает delete для объекта, принадлежавшего экземпляру auto_ptr до вызова.
- После вызова объект, на который ссылается ptr, принадлежит *this. Другого владельца быть не должно.
- Если указатель ptr не является null-указателем, он должен содержать значение, полученное при вызове new,
потому что деструктор auto_ptr автоматически вызывает delete для принадлежащего объекта.
- При вызове reset() не должно передаваться значение, полученное при создании массива оператором new [].
С массивами следует использовать контейнерные классы STL.
На следующем шаге мы рассмотрим преобразования.
Предыдущий шаг
Содержание
Следующий шаг