c++ - Is it safe to use a weak_ptr in a std::set or key of std::map -
std :: weak_ptr और std: के बारे में आज कई प्रश्न हुए हैं : owner_less और साहचर्य कंटेनरों std :: set और std :: map में उनका उपयोग करें। इसमें कई पद हैं जो एक weak_ptr का उपयोग करके एक std :: set में गलत है, क्योंकि अगर कमजोर संकेतक की समय सीमा समाप्त हो जाती है, तो यह अनिर्धारित व्यवहार होगा। क्या यह सही है? एक कारण std :: owner_less मौजूद है इस आदेश को प्रदान करने के लिए, और कमजोर संकेतक समाप्त होने की उपस्थिति में इसकी सुरक्षा की गारंटी। मेरा तर्क है सबसे पहले, std :: owner_less ऑपरेटर () की परिभाषा एक सख्त कमजोर आदेश को परिभाषित करता है जैसा कि 25.4 में परिभाषित तुल्यता संबंध के तहत ऑपरेटर () , ! ऑपरेटर () (ए, बी) & amp; amp; ! ऑपरेटर () (बी, ए) , दो shared_ptr या कमजोर_पीटी उदाहरण समतुल्य हैं यदि और अगर वे स्वामित्व साझा करते हैं या दोनों खाली हैं। दो मामलों हैं वे एक ही वस्तु साझा करते हैं, जो व्यावहारिक दृष्टि से मतलब है कि वे एक ही संदर्भ गणना वस्तु साझा करते हैं। / Li> ये दोनों खाली हैं। अब, मुझे विश्वास है कि भ्रम की स...