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) | (spécification technique des fondamentaux de bibliothèque) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(2) | (spécification technique des fondamentaux de bibliothèque) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(3) | (spécification technique des fondamentaux de bibliothèque) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(4) | (spécification technique des fondamentaux de bibliothèque) |
Crée une nouvelle instance de
std::experimental::shared_ptr
dont le pointeur stocké est obtenu à partir du pointeur stocké de
r
en utilisant une expression de cast. Si
r
est vide, la nouvelle instance de
shared_ptr
l'est également (mais son pointeur stocké n'est pas nécessairement nul).
Sinon, le nouveau
shared_ptr
partagera la propriété avec
r
, sauf qu'il sera vide si le
dynamic_cast
effectué par
dynamic_pointer_cast
retourne un pointeur nul.
Soit
Y
le
typename
std::
experimental
::
shared_ptr
<
T
>
::
element_type
, alors le pointeur stocké du
std::experimental::shared_ptr
résultant sera obtenu en appelant (dans l'ordre respectif) :
dynamic_cast
est une valeur de pointeur nul, le
shared_ptr
retourné sera vide).
Le comportement de ces fonctions n'est pas défini à moins que la conversion correspondante de
U*
vers
T*
ne soit bien formée :
Paramètres
| r | - | le pointeur à convertir |
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
construit un nouveau
shared_ptr
(fonction membre publique) |
|
|
applique
static_cast
,
dynamic_cast
,
const_cast
, ou
reinterpret_cast
au pointeur stocké
(modèle de fonction) |