এই আর্টিকেলে C++ STL-এ map::emplace() ফাংশনের ব্যবহার, সিনট্যাক্স এবং উদাহরণ আলোচনা করা হয়েছে।
Map কী?
Map হলো একটি অ্যাসোসিয়েটিভ কন্টেইনার যা কী-ভ্যালু জোড়া হিসেবে ডেটা সংরক্ষণ করে। ডেটা داخلیভাবে কী অনুযায়ী সর্টেড থাকে।
map::emplace() কী?
এলিমেন্ট কনস্ট্রাক্ট করে সরাসরি ম্যাপে ইনসার্ট করে। insert()-এর মতো কপি/মুভ না করে ইন-প্লেস কনস্ট্রাকশন করে, তাই কিছুটা দ্রুত। কী ইউনিক না হলে ইনসার্ট হয় না।
সিনট্যাক্স
map_name.emplace(Args&& args);
প্যারামিটার
args — কনস্ট্রাক্টরের আর্গুমেন্টগুলো (কী, ভ্যালু)।
রিটার্ন ভ্যালু
সফল হলে নতুন এলিমেন্টের ইটারেটর, ব্যর্থ হলে বিদ্যমান সমতুল্য এলিমেন্টের ইটারেটর।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_Map;
TP_Map.emplace(4, 50);
TP_Map.emplace(2, 30);
TP_Map.emplace(1, 10);
TP_Map.emplace(1, 20); // ডুপ্লিকেট কী — ইনসার্ট হবে না
TP_Map.emplace(1, 30); // ডুপ্লিকেট কী — ইনসার্ট হবে না
cout << "TP Map:\nMAP_KEY\tMAP_ELEMENT\n";
for (auto i = TP_Map.begin(); i != TP_Map.end(); i++)
cout << i->first << "\t" << i->second << endl;
return 0;
}
আউটপুট
TP Map: MAP_KEY MAP_ELEMENT 1 10 2 30 4 50