BIはenable_shared_from_this
を私のコードで使用していますが、その使用法が正しいかどうかはわかりません。これはコードです:複数の継承を持つenable_shared_from_thisの使用
class A: public std::enable_shared_from_this<A>
{
public:
void foo1()
{
auto ptr = shared_from_this();
}
};
class B:public std::enable_shared_from_this<B>
{
public:
void foo2()
{
auto ptr = shared_from_this();
}
};
class C:public std::enable_shared_from_this<C>
{
public:
void foo3()
{
auto ptr = shared_from_this();
}
};
class D: public A, public B, public C
{
public:
void foo()
{
auto ptr = A::shared_from_this();
}
};
は、彼らが常にDのshared_ptr
を通じて呼び出されていると仮定して、正しいmake_shared_from_this()
のこれらの使用法はありますか?
私は 'foo2'または' foo3'がコンパイルう...意味をなさない – aschepler
うんは、唯一のクラスAは、 –
私はあなたがenable_shared_from_this何を見てみるべきだと思いますそうです。この[質問](http://stackoverflow.com/questions/712279/what-is-the-usefulness-of-enable-shared-from-this)への答えを参照してください –