वर्तमान में, मानक पुस्तकालय में आवंटन कार्यों की तरह स्थिरांक संदर्भ द्वारा std::nothrow_t
ले:क्यों आवंटन कार्य मूल्य के बजाय संदर्भ द्वारा std :: nothrow_t लेते हैं?
void* operator new (std::size_t count, const std::nothrow_t& tag);
void* operator new[](std::size_t count, const std::nothrow_t& tag);
std::nothrow_t
के बाद से बस भेजने प्रयोजनों के लिए एक प्रकार का टैग है, हैं ना सरल और (संभवतः) अधिक से ले जाने के लिए कुशल मूल्य? उदाहरण के लिए:
void* operator new (std::size_t count, std::nothrow_t tag);
void* operator new[](std::size_t count, std::nothrow_t tag);
कॉन्स्ट संदर्भ डिजाइन के पीछे तर्क क्या है?
शायद इसलिए कोई कॉपी कन्स्ट्रक्टर नहीं कहा जाना चाहिए। – CoffeeandCode
@CoffeeandCode मुझे लगता है कि टैग प्रकारों की प्रतिलिपि तुच्छ और तेज़ है, और यह संकलक अनुकूलन के अधीन है। – Lingxi
लेकिन उनके कार्यान्वयन से अक्सर किसी को इस प्रकार को तुरंत चालू करना मुश्किल हो जाता है। – CoffeeandCode