C++ STL में Multimap क्या है?
Multimap एक associative container है जो map container के समान होता है। यह key-value और mapped value के संयोजन से बने तत्वों को एक विशिष्ट क्रम में संग्रहीत करता है। एक multimap container में एक ही key से जुड़े कई तत्व हो सकते हैं। डेटा आंतरिक रूप से हमेशा उससे जुड़ी keys की मदद से सॉर्ट किया जाता है।
multimap::get_allocator() क्या है?
multimap::get_allocator() C++ STL में एक अंतर्निहित फंक्शन है, जो <map> हेडर फाइल में परिभाषित है। get_allocator() का उपयोग multimap container को मेमोरी चंक आवंटित करने के लिए किया जाता है। यह फंक्शन इससे जुड़े container के allocator object की एक प्रति लौटाता है।
एक allocator एक ऑब्जेक्ट है जो container के डायनामिक मेमोरी आवंटन के लिए जिम्मेदार होता है।
सिंटैक्स
multi_name.get_allocator();
पैरामीटर्स
फंक्शन कोई पैरामीटर स्वीकार नहीं करता।
रिटर्न वैल्यू
यह फंक्शन संबंधित container का allocator लौटाता है।
उदाहरण
#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);
// 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);
// 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.