Namespaces
Variants

std::auto_ptr<T>:: 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)
explicit auto_ptr ( X * p = 0 ) throw ( ) ;
(1) (устарело в C++11)
(удалено в C++17)
auto_ptr ( auto_ptr & r ) throw ( ) ;
(2) (устарело в C++11)
(удалено в C++17)
template < class Y >
auto_ptr ( auto_ptr < Y > & r ) throw ( ) ;
(3) (устарело в C++11)
(удалено в C++17)
auto_ptr ( auto_ptr_ref < X > m ) throw ( ) ;
(4) (устарело в C++11)
(удалено в C++17)

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

1) Создает auto_ptr с указателем p .
2) Создает auto_ptr с указателем, хранящимся в r . r. release ( ) вызывается для получения владения объектом.
3) То же, что и (2). Y * должен быть неявно преобразуем в T * .
4) Создает auto_ptr с указателем, хранящимся в экземпляре auto_ptr , на который ссылается m . p. release ( ) вызывается для auto_ptr p , который хранит m , чтобы получить владение объектом.
auto_ptr_ref — это тип, определяемый реализацией, который содержит ссылку на auto_ptr . std::auto_ptr неявно преобразуется в и присваивается из этого типа. Реализация может использовать для этого шаблона другое имя или реализовать эквивалентную функциональность другими способами.

Параметры

p - указатель на управляемый объект
r - другой auto_ptr для передачи владения объектом от
m - тип, определяемый реализацией, который содержит ссылку на auto_ptr

Примечания

Конструктор и оператор копирующего присваивания из auto_ptr_ref предоставляются для возможности копирующего конструирования и присваивания std::auto_ptr из безымянных временных объектов. Поскольку их конструктор копирования и оператор копирующего присваивания принимают аргумент по не-константной ссылке, они не могут напрямую связываться с rvalue-аргументами. Однако может быть выполнено пользовательское преобразование (которое освобождает исходный auto_ptr ), за которым следует вызов конструктора или оператора копирующего присваивания, принимающих auto_ptr_ref по значению. Это ранняя реализация семантики перемещения .