ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

スマートポインタ型を基底クラスから派生クラスへキャストする

スマートポインタ型のポインタを基底クラスから派生クラスへキャストするには、
static_pointer_cast<>() 関数を使用します。
スマートポインタ型のポインタは、static_cast<>() でキャストしてはいけません。

SFBBaseSmp base;
SFBGraphicsSmp graphics;

base = SFBGraphics::NewInstance();
graphics = static_pointer_cast<SFBGraphics>(base);

この他にも、reinterpret_pointer_cast, const_pointer_cast,
dynamic_pointer_cast が利用できます。

参照 SFBGraphics::NewInstance