std::auto_ptr<T>:: operator=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 .
Y*
debe ser convertible implícitamente a
T*
.
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) |