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 );
}
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2021/01/18/9338786/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。