इस लेख में हम C++ STL में मल्टीमैप ::get_allocator () फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे।
C++ STL में मल्टीमैप क्या है?
मल्टीमैप सहयोगी कंटेनर हैं, जो मानचित्र कंटेनर के समान हैं। यह एक विशिष्ट क्रम में की-वैल्यू और मैप्ड वैल्यू के संयोजन से बनने वाले तत्वों को स्टोर करने की सुविधा भी देता है। एक मल्टीमैप कंटेनर में एक ही कुंजी से जुड़े कई तत्व हो सकते हैं। डेटा को आंतरिक रूप से हमेशा संबंधित कुंजियों की सहायता से क्रमबद्ध किया जाता है।
मल्टीमैप क्या है::get_allocator()?
multimap::get_allocator() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे
एक आवंटक एक वस्तु है जो एक कंटेनर के गतिशील रूप से स्मृति आवंटन के लिए जिम्मेदार है।
सिंटैक्स
multi_name.get_allocator();
पैरामीटर
फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।
रिटर्न वैल्यू
यह फ़ंक्शन संबंधित कंटेनर के आवंटनकर्ता को लौटाता है।
इनपुट
int *Ptr; std::multimap<int> newmap; newmap.insert(make_pair(‘A’, 22)); newmap.insert(make_pair(‘B’, 78)); newmap.insert(make_pair(‘C’, 66)); newmap.insert(make_pair(‘D’, 81)); Ptr = mymap.get_allocator().allocate(4);
आउटपुट
ptr = A:22 B:78 C:66 D:81
उदाहरण
#include <iostream> #include <map> using namespace std; int main(){ int arrsize; multimap<char, int> mul; pair<const char, int>* pr; pr = mul.get_allocator().allocate(15); // assign some values to array arrsize = sizeof(multimap<char, int>::value_type) * 10; cout << "Size of the allocated array is: "<< arrsize << " bytes.\n"; mul.get_allocator().deallocate(pr, 5); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Size of the allocated array is: 80 bytes.
उदाहरण
#include <iostream> #include <map> using namespace std; int main(){ int arrsize; multimap<char, int> mul; pair<const char, int>* pr; pr = mul.get_allocator().allocate(2); // assign some values to array arrsize = sizeof(multimap<char, int>::value_type) * 5; cout << "Size of the allocated array is: "<< arrsize << " bytes.\n"; mul.get_allocator().deallocate(pr, 5); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Size of the allocated array is: 40 bytes.