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) | (TS de fundamentos de biblioteca) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(2) | (TS de fundamentos de biblioteca) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(3) | (TS de fundamentos de biblioteca) |
|
template
<
class
T,
class
U
>
std::
experimental
::
shared_ptr
<
T
>
|
(4) | (TS de fundamentos de biblioteca) |
Crea una nueva instancia de
std::experimental::shared_ptr
cuyo puntero almacenado se obtiene del puntero almacenado de
r
usando una expresión de conversión. Si
r
está vacío, también lo estará el nuevo
shared_ptr
(pero su puntero almacenado no es necesariamente nulo).
De lo contrario, el nuevo
shared_ptr
compartirá la propiedad con
r
, excepto que estará vacío si el
dynamic_cast
realizado por
dynamic_pointer_cast
devuelve un puntero nulo.
Sea
Y
el
typename
std::
experimental
::
shared_ptr
<
T
>
::
element_type
, entonces el puntero almacenado resultante de
std::experimental::shared_ptr
se obtendrá llamando (en orden respectivo):
dynamic_cast
es un valor de puntero nulo, el
shared_ptr
devuelto estará vacío).
El comportamiento de estas funciones es indefinido a menos que la conversión correspondiente de
U*
a
T*
esté bien formada:
Parámetros
| r | - | el puntero a convertir |
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
construye un nuevo
shared_ptr
(función miembro pública) |
|
|
aplica
static_cast
,
dynamic_cast
,
const_cast
, o
reinterpret_cast
al puntero almacenado
(plantilla de función) |