क्या कोई एसटीएल कार्यान्वयन के बारे में जानता है जो गतिशील आवंटकों को उपयोग से पहले एक कंटेनर के उदाहरण में पारित करने की अनुमति देता है।एक एसटीएल कार्यान्वयन जो एक गतिशील/राज्य आधारित आवंटक का उपयोग करता है?
परिदृश्य यह है कि हमारे पास एक सामान्य स्मृति आवंटक है जो स्मृति के कई पूल प्रबंधित करता है और कहने के प्रत्येक उदाहरण के लिए stl :: वेक्टर हम स्मृति के एक अलग पूल से प्रत्येक उदाहरण आवंटित करना चाहते हैं।
मानक एसटीएल कार्यान्वयन के साथ समस्या यह है कि आप केवल एक प्रकार के आधार पर मेमोरी पूल को परिभाषित कर सकते हैं यानी सभी वेक्टर प्रकार के int उसी पूल से आवंटित किए जाएंगे।
मैंने पहले से ही हमारे डिफ़ॉल्ट stl :: आवंटक को एक ऐसे राज्य के लिए बदल दिया है जिसमें एक राज्य यानी पूल है जिसे हम इस आवंटन को आवंटित करना चाहते हैं लेकिन यह stl :: सूची कहने के लिए अच्छा काम नहीं करता है, जहां यह चीजों को आवंटित करता है डिफ़ॉल्ट सीटीओआर।
हमारी लाइब्रेरी से संबंधित कारणों के लिए हमारे पास सभी ऑब्जेक्ट्स के लिए सीटीआर में एक वैध पूल नहीं है और इसलिए हम एसएलएल कंटेनर का उपयोग करने से पहले 'सेट मेमोरी पूल' फ़ंक्शन को कॉल करना चाहते हैं।
क्या कोई इस तरह की चीज का समर्थन करने वाले कार्यान्वयन में आया है?
क्या माइक्रोसॉफ्ट एसटीएल है जो अपने कन्स्ट्रक्टर में सूची के मुख्य नोड को आवंटित करता है? आदर्श एसटीएल कार्यान्वयन (जीएनयू पढ़ें) रिक्त कंटेनरों का निर्माण करते समय किसी स्मृति आवंटन का उपयोग नहीं करेगा। –
यूप दोनों माइक्रोसॉफ्ट और मेरे जीएनयू पोर्ट (सर्का जीसीसी 3.4.1) दोनों सीटीआर में हेड नोड आवंटित करते हैं। दूसरी तरफ एसटीएलपोर्ट मेरी आवश्यकताओं का समर्थन नहीं करता है और पूर्ण उदाहरण स्रोत के लिए मेरा जवाब देखता है। – user176168