Описание класса 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.

   
На следующем шаге мы рассмотрим преобразования.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий