我正在學習使用智能增強指針,但我對某些情況有點困惑。我們假設我正在實現一個狀態機,每個狀態通過一個更新方法來實現。 每個國家可以返回其自身或創建一個新的狀態對象: struct state
{
virtual state* update() = 0; // The point: I want to return a smart pointer here
};
struct sta
我在使用基類的shared_ptr時遇到問題,我無法在解引用它時調用派生類的方法。我相信代碼會比我更詳細: class Base : public boost::enable_shared_from_this<Base>
{
public:
typedef boost::shared_ptr<BabelNet> pointer;
};
class Derived : p