এই আর্টিকেলে আমরা C++ STL-এ map::operator[] অপারেটরের কাজ, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।
C++ STL-এ Map কী?
Map হলো একটি অ্যাসোসিয়েটিভ কন্টেইনার, যা কী-ভ্যালু জোড়া আকারে এলিমেন্ট নির্দিষ্ট অর্ডারে সংরক্ষণ করে। Map-এ ডেটা আতঃস্থভাবে এর asosiated কী অনুযায়ী সর্টেড থাকে। Map-এ ভ্যালুগুলো এর ইউনিক কী দিয়ে এক্সেস করা হয়।
map::operator[] কী?
map::operator[] হলো একটি রেফারেন্স অপারেটর। এই অপারেটরটি কী দিয়ে কন্টেইনারের এলিমেন্ট এক্সেস করতে ব্যবহৃত হয়।
যদি কন্টেইনারে সেই কী না থাকে, তবে অপারেটরটি একটি নতুন এলিমেন্ট সেই কীসহ ইনসার্ট করে এবং ম্যাপড ভ্যালুর রেফারেন্স রিটার্ন করে। এই অপারেটর map::at()-এর মতোই কাজ করে, একমাত্র পার্থক্য হলো at() কী না পাওয়া গেলে এক্সেপশন থ্রো করে।
সিনট্যাক্স
map_name[key];
প্যারামিটার
শুধু একটি প্যারামিটার: key — যা কন্টেইনারে রেফারেন্স করতে চাই।
রিটার্ন ভ্যালু
কী k-এর সাথে asosiated ভ্যালু রিটার্ন করে।
ইনপুট
map<char, int> newmap;
newmap.insert({1, 20});
newmap.insert({2, 30});
newmap[1];
আউটপুট
20
উদাহরণ ১
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_1;
TP_1[1] = 10;
TP_1[2] = 20;
TP_1[3] = 30;
TP_1[4] = 40;
cout << "Element at TP[3] is: " << TP_1[3];
return 0;
}
আউটপুট
Element at TP[3] is: 30
উদাহরণ ২
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_1;
TP_1[1] = 10;
TP_1[2] = 20;
TP_1[3] = 30;
TP_1[4] = 40;
cout << "Element at TP[3] is: " << TP_1[3];
if (TP_1[5] == 0) {
cout << "\nElement at TP[5] doesn't exist";
} else {
cout << "Element at TP[5] is: " << TP_1[5];
}
return 0;
}
আউটপুট
Element at TP[3] is: 30 Element at TP[5] doesn't exist