Поделиться через


Класс auto_ptr

Создать интеллектуального указателя для ресурсов, гарантирует, что ресурс будет удален автоматически, когда элемент управления покидает блок.

Более функциональна класс unique_ptr заменяет auto_ptr. Для получения дополнительной информации см. Класс unique_ptr.

Дополнительные сведения о throw() и обработка исключений см. в разделе Спецификации исключений.

template<class Type>
    class auto_ptr {
public:
    typedef Type element_type;
    explicit auto_ptr(Type *_Ptr = 0) throw();
    auto_ptr(auto_ptr<Type>& _Right) throw();
    template<class Other>
        operator auto_ptr<Other>() throw();
    template<class Other>
        auto_ptr<Type>& operator=(auto_ptr<Other>& _Right) throw();
    template<class Other>
        auto_ptr(auto_ptr<Other>& _Right);
    auto_ptr<Type>& operator=(auto_ptr<Type>& _Right);
    ~auto_ptr();
    Type& operator*() const throw();
    Type *operator->()const throw();
    Type *get() const throw();
    Type *release()throw();
    void reset(Type *_Ptr = 0);
};

Параметры

  • _Right
    auto_ptr, из которого необходимо получить ресурса.

  • _Ptr
    Указатель указанный, чтобы заменить, сохраняют указатель.

Заметки

Описание класса шаблона интеллектуального указателя, называемое auto_ptr, к выбранному объекту. Указатель должен быть либо NULL или назначение выбранный объект new. auto_ptr перемещает владельца, если его, хранящееся значение присвоено другому объекту. (Он заменяет сохраненного значения после передачи с пустым указателем). Деструктор auto_ptr<Type> удаляет выбранный объект. auto_ptr<Type> гарантирует, что выбранный объект автоматически удаляется, когда элемент управления покидает блок, даже через, вызванное исключение. Не следует создавать 2 объекта auto_ptr<Type>, иметь один и тот же объект.

Можно передать объект auto_ptr<Type> значение в качестве аргумента для вызова функции. auto_ptr не может быть элементом любого стандартного контейнера библиотеки. Нельзя надежно для управления последовательность объектов auto_ptr<Type> с контейнером стандартной библиотеки шаблонов.

Члены

конструкторов;

auto_ptr

Конструктор для объектов типа auto_ptr.

Определения типов

element_type

Тип синоним для параметра Type шаблона.

Функции-члены

get

Возвращает функцию-член, сохраняют указатель myptr.

освободить

Заменяет элемент, сохраненный указатель myptr с пустым указателем и возвращает ранее сохраненных указатель.

reset

Функция-член вычисляет выражение delete myptr, но только при наличии сохраненной значение указателя myptr изменяется в результате вызова функции. Затем он заменяет, сохраняют указатель с ptr.

Операторы

operator=

Оператор присваивания, перемещает владения от одного объекта к другому. auto_ptr

operator*

Разыменуя оператор для объектов типа auto_ptr.

operator->

Оператор для разрешения доступа к членам.

auto_ptr оператора<Other>

Преобразования из одного типа auto_ptr в другой тип auto_ptr.

auto_ptr_ref оператора<Other>

Приведения из auto_ptr в auto_ptr_ref.

Требования

Заголовок:<memory>

Пространство имен: std

См. также

Ссылки

Потокобезопасность в стандартной библиотеке C++

Класс unique_ptr

Другие ресурсы

Члены <память>