এই লেখায় আমরা C++ STL-এ multimap::key_comp() ফাংশনের কাজ করার পদ্ধতি, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ Multimap কী?
Multimap হল একটি অ্যাসোসিয়েটিভ কন্টেইনার যা ম্যাপ কন্টেইনারের মতো। এটি কী-ভ্যালু জোড়া হিসেবে উপাদান সংরক্ষণ করে নির্দিষ্ট ক্রমে। একটি মাল্টিম্যাপ কন্টেইনারে একই কী-এর সাথে একাধিক উপাদান থাকতে পারে। ডেটা অভ্যন্তরীণভাবে সংশ্লিষ্ট কী-هاর সাহায্যে সর্টেড থাকে।
multimap::key_comp() কী?
multimap::key_comp() হল একটি ফাংশন যা <map> হেডার ফাইলের অধীন আসে। এই ফাংশনটি একটি কী কম্পেরিজন অবজেক্টের কপি রিটার্ন করে। ডিফল্টভাবে এটি একটি "less than" অবজেক্ট যা less-than অপারেটর (<) এর মতো কাজ করে। এই অবজেক্টটি মাল্টিম্যাপ কন্টেইনারে উপাদান কী-গুলোর ক্রম চেক করে। এটি দুটি আর্গুমেন্ট নেয় এবং তাদের কী চেক করে—যদি প্রথম উপাদানটি ছোট হয় এবং দ্বিতীয়টির আগে যেতে হয় তবে true রিটার্ন করে, অন্যথায় false।
সিনট্যাক্স
Key_compare.key_comp();
প্যারামিটার
এই ফাংশন কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন ভ্যালু
এটি একটি কম্পেরিজন অবজেক্ট রিটার্ন করে।
উদাহরণ
#include <iostream>
#include <map>
using namespace std;
int main() {
multimap<int, char> mul;
multimap<int, char>::key_compare cmp = mul.key_comp();
// দেওয়া কী-এ উপাদান ইনসার্ট করা
mul.insert(make_pair(0, 'A'));
mul.insert(make_pair(1, 'B'));
mul.insert(make_pair(2, 'C'));
mul.insert(make_pair(3, 'D'));
int a = mul.rbegin()->first;
multimap<int, char>::iterator it = mul.begin();
cout << "Elements at given key is: " << '\n';
do {
cout << it->first << " = " << it->second << '\n';
} while (cmp((*it++).first, a));
return 0;
}
আউটপুট
Elements at given key is: 0 = A 1 = B 2 = C 3 = D