shared_ptr を使っている時に dynamic_cast が必要な場合は dynamic_pointer_cast を使う ― 2021年01月18日 13時18分48秒
shared_ptr と dynamic_cast を扱うのが dynamic_pointer_cast。shared_ptr と同じ memory ヘッダファイルにあるので、使うのに大きな問題はない。
#include <memory>
struct Base
{
virtual ~Base(){};
};
struct Derived : Base
{
};
int main()
{
std::shared_ptr< Base > ptr = std::make_shared< Derived >();
std::shared_ptr< Derived > derived = std::dynamic_pointer_cast< Der
ived >( ptr );
}
最近のコメント