यदि मैं सही ढंग से समझता हूं, जब एक shared_ptr (बूस्ट, tr1, std, जो भी हो) को एक पॉइंटर के साथ ताजा आवंटित ऑब्जेक्ट में प्रारंभ किया जाता है, तो साझा_प्टर का कन्स्ट्रक्टर पॉइंटर के लिए संदर्भ गणना रखने के लिए स्मृति की एक छोटी राशि आवंटित करता है प्रबंधन करता है। क्या होता है यदि वह आवंटन विफल हो जाता है? निम्नलिखित कोड में:क्या होता है यदि कोई साझा_प्टर का निर्माता विफल रहता है?
class my_class {};
void my_func(shared_ptr<my_class> arg);
int main(int argc, char* argv[])
{
my_func(shared_ptr<my_class>(new my_class()));
return 0;
}
... my_class
वस्तु अगर shared_ptr इसके संदर्भ गिनती के लिए स्मृति को आबंटित करने में विफल रहता है लीक किया जाएगा? या क्या share_ptr का कन्स्ट्रक्टर ऑब्जेक्ट को हटाने की ज़िम्मेदारी लेता है?
चीयर्स। मैंने Google को आग लगा दी लेकिन मुझे कोई जवाब नहीं मिला। इन दिनों में से एक मैं स्रोत - यानी मानक की जांच करना सीखूंगा। :-) – bythescruff