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

C++ map: ইউজার ডিফাইনড ডেটা টাইপ কি হিসেবে ব্যবহার


একটি map হলো একটি ডেটা স্ট্রাকচার যা ইনফরমেশন কি এবং ভ্যালু পেয়ার হিসেবে সংরক্ষণ করে। C++-এ, map STL (স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি)-এ ডিফাইন করা হয়ে থাকে এবং কিগুলো ক্রম대로 সংরক্ষণ করে।

map ডিফাইন করার সিনট্যাক্স −

map<key_type , value_type> map_name;

ম্যাপের এই দুটি ডেটার যেকোনো একটি যেকোনো ডেটা টাইপ হতে পারে। আমরা প্রাইমারি ডেটা টাইপ বা ডেরাইভড ডেটা টাইপ যেকোনো একটি ম্যাপের কি বা ভ্যালু ডেটা টাইপ হিসেবে ব্যবহার করতে পারি।

আমরা যেকোনো ডেটা টাইপকে ম্যাপের কির ডেটা টাইপ হিসেবে ব্যবহার করতে পারি। এমনকি একটি ইউজার-ডিফাইনড ডেটা টাইপও কি ডেটা টাইপ হিসেবে ব্যবহার করা যায়।

এখন, আমরা একটি ডেটা স্ট্রাকচার তৈরি করব যা একটি নতুন ডেটা টাইপ ডিফাইন করে। এবং ম্যাপে এটিকে কি হিসেবে ব্যবহার করব।

সিনট্যাক্স

struct key{    float f; }

এই ইউজার-ডিফাইনড ডেটা টাইপটি ম্যাপে ব্যবহার করলে প্রোগ্রামার ম্যাপ থেকে আরও ইনফরমেটিভ ডেটা সেট পেতে পারেন। একটি struct-এ যেকোনো সংখ্যক ডেটা থাকতে পারে, এমনকি অ্যারে এবং অন্যান্য ডেটা স্ট্রাকচারও এই কেসে বৈধ।

উদাহরণ

#include <bits/stdc++.h> using namespace std; struct kdata {    float id; }; bool operator<(const kdata& t1, const kdata& t2){    return (t1.id < t2.id); } int main(){    kdata t1 = { 4.5 }, t2 = { 12.3 }, t3 = { 67.8 }, t4 = { 65.2 };    map<kdata, char> maps;    maps[t1] = 'a';    maps[t2] = 'h';    maps[t3] = 'm';    maps[t4] = 'q';    cout<<"The map data is ";    for (auto x : maps)       cout << x.first.id << " > " << x.second << endl;    return 0; }

আউটপুট

The map data is 4.5 > a 12.3 > h 67.8 > m 65.2 > q

  1. C++-এ এনামারেটেড ডেটা টাইপ (Enumerated Data Types) কী?

  2. C++ প্রোগ্রামিং-এ ফান্ডামেন্টাল ডেটা টাইপ (Fundamental Data Types) কী?

  3. C++-এ প্রিমিটিভ ডেটা টাইপ (Primitive Data Types) কী?

  4. C++-এ ভেরিয়েবল এবং ভেরিয়েবলের টাইপগুলো কী?