এই নিবন্ধে আমরা 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.