std::auto_ptr<T>:: auto_ptr
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
explicit
auto_ptr
(
X
*
p
=
0
)
throw
(
)
;
|
(1) |
(déprécié en C++11)
(supprimé en C++17) |
|
auto_ptr
(
auto_ptr
&
r
)
throw
(
)
;
|
(2) |
(déprécié en C++11)
(supprimé en C++17) |
|
template
<
class
Y
>
auto_ptr ( auto_ptr < Y > & r ) throw ( ) ; |
(3) |
(déprécié en C++11)
(supprimé en C++17) |
|
auto_ptr
(
auto_ptr_ref
<
X
>
m
)
throw
(
)
;
|
(4) |
(déprécié en C++11)
(supprimé en C++17) |
Construit l'
auto_ptr
à partir d'un pointeur qui référence l'objet à gérer.
auto_ptr
avec le pointeur
p
.
auto_ptr
avec le pointeur détenu dans
r
.
r.
release
(
)
est appelé pour acquérir la propriété de l'objet.
auto_ptr
avec le pointeur détenu dans l'instance de
auto_ptr
référencée par
m
.
p.
release
(
)
est appelé pour l'
auto_ptr p
que
m
détient afin d'acquérir la propriété de l'objet.
auto_ptr_ref
est un type défini par l'implémentation qui contient une référence à
auto_ptr
.
std::auto_ptr
est implicitement
convertible en
et
assignable depuis
ce type. L'implémentation est autorisée à fournir au template un nom différent ou à implémenter une fonctionnalité équivalente d'autres manières.
Paramètres
| p | - | un pointeur vers un objet à gérer |
| r | - |
un autre
auto_ptr
pour transférer la propriété de l'objet depuis
|
| m | - |
un type défini par l'implémentation qui contient une référence à
auto_ptr
|
Notes
Le constructeur et l'opérateur d'affectation par copie depuis
auto_ptr_ref
sont fournis pour permettre la construction par copie et l'affectation de
std::auto_ptr
à partir de temporaires sans nom. Étant donné que leur constructeur de copie et leur opérateur d'affectation par copie prennent l'argument par référence non-constante, ils ne peuvent pas lier directement des arguments rvalue. Cependant, une
conversion définie par l'utilisateur
peut être exécutée (ce qui libère l'original
auto_ptr
), suivie d'un appel au constructeur ou à l'opérateur d'affectation par copie qui prennent
auto_ptr_ref
par valeur. Ceci est une implémentation précoce de la
sémantique de déplacement
.