Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

static_pointer_cast

 

Conversión estática a shared_ptr.

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

Ty

Tipo controlado por el puntero compartido devuelto.

Other

Tipo controlado por el puntero compartido de argumento.

Other

Puntero compartido de argumento.

La función de plantilla devuelve un objeto shared_ptr vacío si sp es un objeto shared_ptr vacío; en caso contrario, devuelve un objeto shared_ptr (Clase)<Ty> que posee el recurso que es propiedad de sp.La expresión static_cast<Ty*>(sp.get()) debe ser válida.

 

// std_tr1__memory__static_pointer_cast.cpp 
// compile with: /EHsc 
#include <memory> 
#include <iostream> 

struct base 
    { 
    int val; 
    }; 

struct derived 
    : public base 
    { 
    }; 

int main() 
    { 
    std::shared_ptr<base> sp0(new derived); 
    std::shared_ptr<derived> sp1 = 
        std::static_pointer_cast<derived>(sp0); 

    sp0->val = 3; 
    std::cout << "sp1->val == " << sp1->val << std::endl; 

    return (0); 
    } 

sp1->val == 3

Requisitos

Encabezado: <memory>

Espacio de nombres: std

Mostrar: