Namespaces
Variants

std:: auto_ptr

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Определено в заголовочном файле <memory>
template < class T > class auto_ptr ;
(1) (устарел в C++11)
(удалён в C++17)
template <> class auto_ptr < void > ;
(2) (устарел в C++11)
(удалён в C++17)

auto_ptr — это умный указатель, который управляет объектом, полученным через new expression , и удаляет этот объект, когда сам auto_ptr уничтожается. Он может использоваться для обеспечения безопасности исключений для динамически выделенных объектов, для передачи владения динамически выделенными объектами в функции и для возврата динамически выделенных объектов из функций.

Копирование auto_ptr копирует указатель и передаёт владение целевому объекту: как копирующее конструирование, так и копирующее присваивание auto_ptr модифицируют свои правые аргументы, и "копия" не равна оригиналу. Из-за этой необычной семантики копирования, auto_ptr не может быть помещён в стандартные контейнеры. std::unique_ptr предпочтителен для этого и других случаев использования. (since C++11)

2) Предоставляется специализация для типа void , она объявляет typedef element_type , но не содержит функций-членов.

Дополнительный шаблон класса auto_ptr_ref упоминается во всей документации. Это тип, определяемый реализацией, который хранит ссылку на auto_ptr . Реализации разрешено предоставлять шаблону другое имя или реализовывать функции, возвращающие его или принимающие его в качестве параметра, другими способами.

Содержание

Типы членов

Тип члена Определение
element_type T

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

создает новый auto_ptr
(публичная функция-член)
уничтожает auto_ptr и управляемый объект
(публичная функция-член)
передает владение от другого auto_ptr
(публичная функция-член)
преобразует управляемый указатель в указатель на другой тип
(публичная функция-член)
Наблюдатели
возвращает указатель на управляемый объект
(публичная функция-член)
получает доступ к управляемому объекту
(публичная функция-член)
Модификаторы
заменяет управляемый объект
(публичная функция-член)
освобождает владение управляемым объектом
(публичная функция-член)