std::auto_ptr<T>:: operator auto_ptr<Y>
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
auto_ptr::operator auto_ptr<Y>
auto_ptr::operator auto_ptr_ref<Y>
|
|
template
<
class
Y
>
operator auto_ptr_ref < Y > ( ) throw ( ) ; |
(1) |
(in C++11 veraltet)
(in C++17 entfernt) |
|
template
<
class
Y
>
operator auto_ptr < Y > ( ) throw ( ) ; |
(2) |
(in C++11 veraltet)
(in C++17 entfernt) |
Konvertiert
*
this
zu einem
auto_ptr
für einen anderen Typ
Y
.
Parameter
(keine)
Rückgabewert
Hinweise
Der Konstruktor und der Kopierzuweisungsoperator von
auto_ptr_ref
werden bereitgestellt, um das Kopierkonstruieren und Zuweisen von
std::auto_ptr
aus namenlosen Temporären zu ermöglichen. Da ihr Kopierkonstruktor und Kopierzuweisungsoperator das Argument als Nicht-Konst-Referenz nehmen, können sie Rvalue-Argumente nicht direkt binden. Allerdings kann eine benutzerdefinierte Konvertierung
(1)
oder
(2)
ausgeführt werden (welche das ursprüngliche
auto_ptr
freigibt), gefolgt von einem Aufruf des Konstruktors oder Kopierzuweisungsoperators, die
auto_ptr_ref
als Wert nehmen. Dies ist eine frühe Implementierung von
Move-Semantik
.