में मुझे यकीन है कि, व्यावहारिक रूप से, ::new
का उपयोग थ्रेड-सुरक्षित है। मेरा सवाल यह है कि मानक का कौन सा हिस्सा गारंटी देता है, अगर कोई है? क्या यह एक सम्मेलन है? क्या यह कुछ ऐसा है जहां मानक विभिन्न प्रकार के अक्षरों का समर्थन करने के लिए कार्यान्वयन को बहुत अक्षांश देता है (जैसे प्रत्येक डेटा प्रकार के आकार के अपेक्षाकृत ढीले बाधाओं की तरह)?की नई सुरक्षा सी ++ 11
मुझे उम्मीद है कि सी ++ 11 मानक में केवल एक पंक्ति है जो स्पष्ट रूप से निर्दिष्ट करती है "::new
के कार्यान्वयन थ्रेड-सुरक्षित होना चाहिए"।
मैं ऑपरेटर के नए ओवरलोड की थ्रेड-सुरक्षा के बारे में कुछ मानक देखना भी पसंद करूंगा। मुझे कल्पना है कि उन्हें थ्रेड-सुरक्षित होने के लिए होने की आवश्यकता होगी, लेकिन ये फ़ंक्शंस कंबल गारंटी के अंतर्गत भी नहीं आते हैं जो const => थ्रेड सुरक्षित (सी ++ 11 में) है।
धन्यवाद!
मानक आपको गारंटी देता है कि _your_ 'ऑपरेटर नया 'ओवरलोड थ्रेड-सुरक्षित है? आपका कार्यक्रम, आपकी समस्याएं। – MSalters
@MSalters - इसी कारण से यह const => थ्रेड-सुरक्षित बनाता है। क्योंकि आपके कोड में भी गारंटी सुनिश्चित किए बिना, आप मानक लाइब्रेरी से सुरक्षित रूप से बातचीत नहीं कर सकते हैं। क्या आप पैर में खुद को गोली मार सकते हैं? हां, सी ++ में बस कुछ भी पसंद है ... लेकिन यह शायद ही बात है। – Mark