std::experimental:: static_pointer_cast, std::experimental:: dynamic_pointer_cast, std::experimental:: const_pointer_cast, std::experimental:: reinterpret_pointer_cast
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(1) | (Bibliotheksgrundlagen TS) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(2) | (Bibliotheksgrundlagen TS) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(3) | (Bibliotheksgrundlagen TS) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(4) | (Bibliotheksgrundlagen TS) |
Erstellt eine neue Instanz von
std::experimental::shared_ptr
, deren gespeicherter Zeiger durch einen Cast-Ausdruck aus dem gespeicherten Zeiger von
r
erhalten wird. Wenn
r
leer ist, ist auch der neue
shared_ptr
leer (sein gespeicherter Zeiger ist jedoch nicht notwendigerweise null).
Andernfalls teilt sich der neue
shared_ptr
die Eigentümerschaft mit
r
, außer dass er leer ist, falls das durch
dynamic_cast
ausgeführte
dynamic_pointer_cast
einen Nullzeiger zurückgibt.
Sei
Y
der
typename
std::
experimental
::
shared_ptr
<
T
>
::
element_type
, dann wird der gespeicherte Zeiger der resultierenden
std::experimental::shared_ptr
durch Aufruf (in entsprechender Reihenfolge) erhalten:
dynamic_cast
ein Nullzeigerwert ist, wird der zurückgegebene
shared_ptr
leer sein).
Das Verhalten dieser Funktionen ist undefiniert, sofern der entsprechende Cast von
U*
zu
T*
nicht wohlgeformt ist:
Parameter
| r | - | der zu konvertierende Zeiger |
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
Konstruiert neuen
shared_ptr
(öffentliche Elementfunktion) |
|
|
Wendet
static_cast
,
dynamic_cast
,
const_cast
, oder
reinterpret_cast
auf den gespeicherten Zeiger an
(Funktionstemplate) |