BI के साथ enable_shared_from_this का उपयोग मेरे कोड में enable_shared_from_this
का उपयोग कर रहा है, और मुझे यकीन नहीं है कि इसका उपयोग सही है या नहीं। यह सोचते हैं कि वे हमेशा डी के shared_ptr
के माध्यम से कहा जा रहा हैएकाधिक विरासत
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();
}
};
make_shared_from_this()
सही के इन उपयोग कर रहे हैं, यह कोड है?
मुझे नहीं लगता कि 'foo2' या' foo3' संकलन होगा ... – aschepler
हां कि मतलब नहीं है, केवल वर्ग एक enable_shared_from_this <> विरासत –
मुझे लगता है कि तुम क्या enable_shared_from_this पर एक नज़र रखना चाहिए कर देता है। इस [प्रश्न] का जवाब देखें (http://stackoverflow.com/questions/712279/what-is-the-usefulness-of-enable-shared-from- यह) –