std::auto_ptr<T>:: auto_ptr
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
explicit
auto_ptr
(
X
*
p
=
0
)
throw
(
)
;
|
(1) |
(obsoleto en C++11)
(eliminado en C++17) |
|
auto_ptr
(
auto_ptr
&
r
)
throw
(
)
;
|
(2) |
(obsoleto en C++11)
(eliminado en C++17) |
|
template
<
class
Y
>
auto_ptr ( auto_ptr < Y > & r ) throw ( ) ; |
(3) |
(obsoleto en C++11)
(eliminado en C++17) |
|
auto_ptr
(
auto_ptr_ref
<
X
>
m
)
throw
(
)
;
|
(4) |
(obsoleto en C++11)
(eliminado en C++17) |
Construye el
auto_ptr
desde un puntero que hace referencia al objeto a gestionar.
auto_ptr
con el puntero
p
.
auto_ptr
con el puntero contenido en
r
.
Se llama a
r.
release
(
)
para adquirir la propiedad del objeto.
auto_ptr
con el puntero contenido en la instancia de
auto_ptr
referenciada por
m
.
p.
release
(
)
es llamado para el
auto_ptr p
que
m
contiene para adquirir la propiedad del objeto.
auto_ptr_ref
es un tipo definido por la implementación que contiene una referencia a
auto_ptr
.
std::auto_ptr
es implícitamente
convertible a
y
asignable desde
este tipo. Se permite que la implementación proporcione a la plantilla un nombre diferente o implemente una funcionalidad equivalente de otras maneras.
Parámetros
| p | - | un puntero a un objeto para gestionar |
| r | - |
otro
auto_ptr
para transferir la propiedad del objeto desde
|
| m | - |
un tipo definido por la implementación que mantiene una referencia a
auto_ptr
|
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
.