::operator new(size_t)
आंतरिक रूप से malloc()
पर कॉल करें, या क्या यह सिस्टम कॉल/ओएस-विशिष्ट लाइब्रेरी कॉल का सीधे उपयोग करता है? सी ++ मानक क्या कहता है?क्या :: ऑपरेटर नया (size_t) malloc() का उपयोग करता है?
this answer में यह कहा गया है कि:
malloc()
एक पते किसी भी मानक प्रकार के लिए गठबंधन वापस जाने के लिए गारंटी है।::operator new(n)
केवलn
से बड़े किसी भी मानक प्रकार के लिए गठित पते को वापस करने की गारंटी नहीं है, और यदिT
कोई वर्ण प्रकार नहीं है तो नयाT[n]
केवलT
के लिए गठित एक पता वापस करने की आवश्यकता है।
और यह बताता है कि new()
को malloc()
पर कॉल करने की आवश्यकता नहीं हो सकती है।
नोट: आवंटन की तुलना में अन्य सब कुछ के बारे में SO question है।
डुप्ले/संबंधित: http://stackoverflow.com/questions/377178/how-does-the- मानक- नया- ऑपरेटर-work-in-c – NathanOliver
इसी तरह का सवाल है: क्या पॉइंटर को आवंटित करना संभव है ' 'हटाएं' के बजाय 'मुक्त') के साथ नया 'कीवर्ड'। – i486
@NathanOliver: मेरा संपादन देखें। उस प्रश्न का शीर्षक बताता है कि यह एक डुप्ली है, इसकी सामग्री अन्यथा सुझाती है। – einpoklum