Namespaces
Variants

std::auto_ptr<T>:: operator auto_ptr<Y>

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)
template < class Y >
operator auto_ptr_ref < Y > ( ) throw ( ) ;
(1) (obsoleto en C++11)
(eliminado en C++17)
template < class Y >
operator auto_ptr < Y > ( ) throw ( ) ;
(2) (obsoleto en C++11)
(eliminado en C++17)

Convierte * this a un auto_ptr para un tipo diferente Y .

1) Devuelve un tipo definido por la implementación que contiene una referencia a * this . std::auto_ptr es convertible y asignable desde esta plantilla. La implementación puede proporcionar a la plantilla un nombre diferente o implementar funcionalidad equivalente de otras maneras.
2) Construye un nuevo auto_ptr con un puntero obtenido llamando a release() .

Parámetros

(ninguno)

Valor de retorno

1) Un tipo definido por la implementación que contiene una referencia a * this .
2) Un auto_ptr con un puntero obtenido llamando a release() .

Notas

El constructor y el operador de asignación de copia desde auto_ptr_ref se proporcionan para permitir la construcción por copia y asignación de std::auto_ptr desde temporales anónimos. Dado que su constructor de copia y operador de asignación de copia toman el argumento como referencia no constante, no pueden enlazar argumentos rvalue directamente. Sin embargo, una conversión definida por el usuario (1) o (2) puede ejecutarse (lo cual libera el auto_ptr original), seguida de una llamada al constructor u operador de asignación de copia que toman auto_ptr_ref por valor. Esta es una implementación temprana de move semantics .