Namespaces
Variants

std::auto_ptr<T>:: operator=

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

Reemplaza el objeto gestionado por el gestionado por r o m .

1) Efectivamente llama a reset ( r. release ( ) ) .
2) Efectivamente llama reset ( r. release ( ) ) . Y* debe ser convertible implícitamente a T* .
3) Efectivamente llama a reset ( m. release ( ) ) . auto_ptr_ref es un tipo definido por la implementación que mantiene una referencia a auto_ptr . std::auto_ptr es implícitamente convertible a y desde este tipo. Se permite a la implementación proporcionar a la plantilla un nombre diferente o implementar funcionalidad equivalente de otras maneras.

Contenidos

Parámetros

r - otro auto_ptr para transferir la propiedad del objeto desde
m - un objeto de tipo definido por la implementación que mantiene una referencia a auto_ptr

Valor de retorno

* this .

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 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 semánticas de movimiento .

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 127 C++98 auto_ptr no era asignable desde auto_ptr_ref se añadió la sobrecarga (3)