Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

dynamic_pointer_cast

Conversión de tipos dinámica a shared_ptr.

template <class Ty, class Other>
    shared_ptr<Ty> dynamic_pointer_cast(const shared_ptr<Other>& sp);

Ty

El tipo controla el puntero compartido devuelto.

Other

El tipo controla el argumento compartan el puntero.

sp

El argumento compartan el puntero.

La función de la plantilla devuelve un objeto vacío shared_ptr si dynamic_cast<Ty*>(sp.get()) devuelve un puntero NULL; si no devuelve un objeto de shared_ptr (Clase)<Ty> que posee el recurso que es propiedad de sp. La expresión dynamic_cast<Ty*>(sp.get()) debe ser válida.

 

// std_tr1__memory__dynamic_pointer_cast.cpp 
// compile with: /EHsc 
#include <memory> 
#include <iostream> 
 
struct base 
    { 
    virtual ~base() 
        { 
        } 
 
    int val; 
    }; 
 
struct derived 
    : public base 
    { 
    }; 
 
int main() 
    { 
    std::shared_ptr<base> sp0(new derived); 
    std::shared_ptr<derived> sp1 = 
        std::dynamic_pointer_cast<derived>(sp0); 
 
    sp0->val = 3; 
    std::cout << "sp1->val == " << sp1->val << std::endl; 
 
    return (0); 
    } 
 
==>3 de sp1-val

Encabezado: <memory>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft