मैं बूस्ट के साझा पॉइंटर्स का उपयोग कर रहा हूं, और enable_shared_from_this
इस पर साझा पॉइंटर लौटने में सक्षम हूं। कोड इस तरह दिखता है:shared_from_this में कमजोर_ptr_cast को बढ़ावा दें()
class foo : public boost::enable_shared_from_this<foo>
{
boost::shared_ptr<foo> get()
{
return shared_from_this();
}
}
साझा_from_this एक weak_ptr_cast अपवाद क्यों फेंक देगा?
कन्स्ट्रक्टर से 'shared_from_this()' को कॉल करना संभवतः * साझा करने के लिए 'shared_from_this()' के कारण का कारण है (मेरा मतलब है कि विकास के दौरान, निश्चित रूप से उत्पादन कोड में नहीं)। दुर्भाग्यवश सबसे अच्छा (केवल?) समाधान दो चरण के निर्माण का उपयोग करना प्रतीत होता है (इसके सभी दोषों के साथ)। –