एसटीएल allocators इस निर्माता प्रपत्र (20.1.5) की आवश्यकता होती है: आवश्यकता है कि Y(a) == b;
एसटीएल संभाजक, अन्य प्रकार की प्रति निर्माता, rebind
मानक कार्यान्वयन यह संकेत मिलता है के साथ X a(b);
, और के रूप में कार्यान्वित किया जाता है:
template<class U> allocator(const allocator<U> & o) throw()
मुझे यह समझने में समस्या हो रही है कि यह आवश्यकता क्यों मौजूद है। मैं समझता हूं कि आवंटकों को स्थैतिक होना चाहिए (कोई राज्य नहीं है), लेकिन पृथ्वी पर क्यों आप उन्हें इस तरह परिवर्तित करने में सक्षम होना चाहिए?
केवल कंटेनरों कि सभी वस्तुओं समीप की दुकान (वेक्टर, स्ट्रिंग) सीधे दिया संभाजक प्रकार का उपयोग कर सकते हैं। –
धन्यवाद। यह वास्तव में एक क्रूर आवश्यकता है। मैं यहां स्कॉट मेयर से सहमत होना शुरू कर रहा हूं, आवंटक प्रणाली मूल रूप से कचरा प्रतीत होता है। –
@ एडीए: शहर पर इतनी सारी रात की तरह, यह 15 साल पहले समझ में आया। मैं आज सहमत हूं। :) –