2
我熟悉的升壓轉換器的polymorphic_cast
正常指針:多態性與投下的boost :: shared_ptr的
Base *base;
Derived *d = boost::polymorphic_cast<Derived>(base);
但是,如何與boost::shared_ptr
,而不是使用它呢?
boost::shared_ptr<Base> base;
boost::shared_ptr<Derived> d = boost::?????(base);
感謝。沒有'boost :: polymorphic_pointer_cast <>'?我想只是使用動態和寫明確聲明.... – Roddy
@羅迪:不是我的知識。但是如果你需要檢查成功的話,你總是可以說'if(auto p = boost :: dynamic_pointer_cast(base)){/ * ... * /}'。 –
相反呢?我想要通用代碼使用shared_ptr 並從派生類中調用它派生shared_ptr ... –