কম্পিউটার টিউটোরিয়াল

C++ STL-এ map::emplace() ফাংশন

এই আর্টিকেলে 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
  1. C++ STL-এ deque::emplace()

  2. C++ STL-এ list emplace() ফাংশন

  3. C++ STL-এ Set vs Map পার্থক্য (Set vs Map in C++ STL)

  4. C++ STL-এ emplace বনাম insert: পার্থক্য এবং দক্ষতা