std::auto_ptr::operator auto_ptr<Y>
De cppreference.com
<tbody>
</tbody>
template< class Y > operator auto_ptr_ref<Y>() throw(); |
(1) | (en desuso en C++11) (eliminado en C++17) |
template< class Y > operator auto_ptr<Y>() throw(); |
(2) | (en desuso en C++11) (eliminado en C++17) |
Convierte *this a 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 a y asignable desde esta plantilla. Se permite que la implementación proporcione a la plantilla un nombre diferente o implemente una funcionalidad equivalente de otras formas.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
*this2) Un
auto_ptr con un puntero obtenido llamando a release().Notas
El constructor y el operador de asignación de copia de auto_ptr_ref se proporcionan para permitir la construcción de copias y la asignación de std::auto_ptr de temporales sin nombre. Dado que su constructor de copia y su operador de asignación de copia toman el argumento como una referencia no constante, no pueden vincular argumentos de rvalue directamente. Sin embargo, se puede ejecutar una conversión definida por el usuario (que libera el auto_ptr original), seguida de una llamada al constructor o al operador de asignación de copia que toma auto_ptr_ref por valor. Esta es una implementación temprana de la semántica de movimiento.