এই লেখায় আমরা C++ STL-এ multimap::get_allocator() ফাংশনের কাজ করার পদ্ধতি, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ Multimap কী?
Multimap হল একটি অ্যাসোসিয়েটিভ কন্টেইনার যা ম্যাপ কন্টেইনারের মতো। এটি কী-ভ্যালু জোড়া হিসেবে উপাদান সংরক্ষণ করে নির্দিষ্ট ক্রমে। একটি মাল্টিম্যাপ কন্টেইনারে একই কী-এর সাথে একাধিক উপাদান থাকতে পারে। ডেটা অভ্যন্তরীণভাবে সংশ্লিষ্ট কী-هاর সাহায্যে সর্টেড থাকে।
multimap::get_allocator() কী?
multimap::get_allocator() হল C++ STL-এ একটি বিল্ট-ইন ফাংশন, যা <map> হেডার ফাইলে সংজ্ঞায়িত। এই ফাংশনটি একটি মাল্টিম্যাপ কন্টেইনারের জন্য মেমরি চাঙ্ক alokেট করতে ব্যবহৃত হয়। এটি সংশ্লিষ্ট কন্টেইনারের alokেটর অবজেক্টের একটি কপি রিটার্ন করে।
একটি alokেটর হল একটি অবজেক্ট যা কন্টেইনারের ডাইনামিক মেমরি alokেশন জন্য দায়ী।
সিনট্যাক্স
multi_name.get_allocator();
প্যারামিটার
এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এই ফাংশন সংশ্লিষ্ট কন্টেইনারের alokেটর রিটার্ন করে।
উদাহরণ ১
#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);
// অ্যারেতে কিছু ভ্যালু অ্যাসাইন করা
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);
// অ্যারেতে কিছু ভ্যালু অ্যাসাইন করা
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.