std::pair এবং std::tuple C++ স্ট্যান্ডার্ড লাইব্রেরির দুটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার, যা একাধিক ভ্যালুকে একটি একক ইউনিট হিসেবে সংরক্ষণ করতে সহায়তা করে। std::pair দুইটি ভ্যালু সংরক্ষণ করে, যেখানে std::tuple এর মাধ্যমে একাধিক (২ বা ততোধিক) ভ্যালু সংরক্ষণ করা যায়। এই ডেটা স্ট্রাকচারগুলো জটিল ডেটা ম্যানিপুলেশনের সময় ব্যবহৃত হয় এবং কোডকে আরও সহজ ও পঠনযোগ্য করে।
std::pair এর ধারণা এবং ব্যবহার
std::pair এমন একটি ডেটা স্ট্রাকচার, যা দুটি ভিন্ন বা একই ধরনের ডেটা ধরে রাখতে পারে। এটি সাধারণত কী-ভ্যালু জোড়া (key-value pair) তৈরি করতে ব্যবহৃত হয়।
std::pair তৈরি করার উপায়
std::pair তৈরি করতে std::make_pair() ফাংশন বা সরাসরি std::pair অবজেক্ট তৈরি করা যায়।
উদাহরণ:
#include <iostream>
#include <utility> // std::pair অন্তর্ভুক্ত করার জন্য
int main() {
std::pair<int, std::string> person;
person = std::make_pair(1, "Alice"); // std::make_pair ব্যবহার করে তৈরি
// std::pair থেকে মান প্রিন্ট করা
std::cout << "ID: " << person.first << ", Name: " << person.second << std::endl;
return 0;
}আউটপুট:
ID: 1, Name: Alicestd::pair এর সাথে ব্যবহৃত বৈশিষ্ট্যসমূহ
- first: প্রথম মানটি অ্যাক্সেস করতে
firstব্যবহার করা হয়। - second: দ্বিতীয় মানটি অ্যাক্সেস করতে
secondব্যবহার করা হয়।
std::tuple এর ধারণা এবং ব্যবহার
std::tuple হলো এমন একটি ডেটা স্ট্রাকচার, যা তিন বা ততোধিক ভিন্ন বা একই ধরনের মান সংরক্ষণ করতে পারে। এটি std::pair এর তুলনায় আরও বেশি নমনীয়, কারণ std::tuple এর মাধ্যমে বিভিন্ন সংখ্যার ডেটা একসাথে সংরক্ষণ করা সম্ভব।
std::tuple তৈরি করার উপায়
std::tuple তৈরি করতে std::make_tuple() ফাংশন বা সরাসরি std::tuple অবজেক্ট তৈরি করা যায়।
উদাহরণ:
#include <iostream>
#include <tuple> // std::tuple অন্তর্ভুক্ত করার জন্য
int main() {
std::tuple<int, std::string, float> student;
student = std::make_tuple(1, "Bob", 95.5f); // std::make_tuple ব্যবহার করে তৈরি
// std::tuple থেকে মান বের করা
std::cout << "ID: " << std::get<0>(student) << ", Name: " << std::get<1>(student)
<< ", Grade: " << std::get<2>(student) << std::endl;
return 0;
}আউটপুট:
ID: 1, Name: Bob, Grade: 95.5std::tuple এর সাথে ব্যবহৃত বৈশিষ্ট্যসমূহ
- std::get
(tuple) :Nসংখ্যক ইন্ডেক্সে থাকা মান বের করতেstd::getব্যবহার করা হয়। উদাহরণস্বরূপ,std::get<0>(student)প্রথম উপাদানটি প্রদান করবে। - std::tie:
std::tieব্যবহার করেtupleএর উপাদানগুলোকে আলাদা আলাদা ভেরিয়েবলে আনপ্যাক করা যায়।
std::pair এবং std::tuple এর তুলনা
| বৈশিষ্ট্য | std::pair | std::tuple |
|---|---|---|
| উপাদানের সংখ্যা | সর্বদা ২টি | ২ বা ততোধিক (যেকোনো সংখ্যা) |
| অ্যাক্সেস মেথড | first, second | std::get<N>() |
| ব্যবহার | সাধারণত কী-ভ্যালু জোড়ার জন্য | একাধিক ভিন্ন ডেটা টাইপের মান সংরক্ষণের জন্য |
std::pair এবং std::tuple ব্যবহার করার কিছু উদাহরণ
উদাহরণ: std::pair এবং std::tuple এর ব্যবহার একসাথে
#include <iostream>
#include <tuple>
#include <utility>
int main() {
// std::pair ব্যবহার
std::pair<int, std::string> person = std::make_pair(1, "Alice");
// std::tuple ব্যবহার
std::tuple<int, std::string, double> employee = std::make_tuple(2, "Bob", 75000.0);
// std::pair থেকে মান প্রিন্ট
std::cout << "Person ID: " << person.first << ", Name: " << person.second << std::endl;
// std::tuple থেকে মান প্রিন্ট
std::cout << "Employee ID: " << std::get<0>(employee) << ", Name: " << std::get<1>(employee)
<< ", Salary: " << std::get<2>(employee) << std::endl;
return 0;
}উদাহরণ: std::tie এর ব্যবহার
#include <iostream>
#include <tuple>
int main() {
std::tuple<int, std::string, float> student = std::make_tuple(1, "Carol", 88.5f);
int id;
std::string name;
float grade;
// std::tie ব্যবহার করে tuple এর উপাদানগুলো আলাদা আলাদা ভেরিয়েবলে আনপ্যাক করা
std::tie(id, name, grade) = student;
std::cout << "ID: " << id << ", Name: " << name << ", Grade: " << grade << std::endl;
return 0;
}আউটপুট:
ID: 1, Name: Carol, Grade: 88.5উপসংহার
std::pair এবং std::tuple C++ প্রোগ্রামিংয়ে একাধিক ভ্যালুকে একত্রে সংরক্ষণ করতে ব্যবহৃত হয়। std::pair সাধারণত দুটি ভ্যালু সংরক্ষণ করতে ব্যবহার করা হয়, যেখানে std::tuple যেকোনো সংখ্যার ভ্যালু সংরক্ষণ করতে পারে। std::pair এবং std::tuple ব্যবহার করে জটিল ডেটা গঠন সহজ করা যায় এবং কোড আরও পাঠযোগ্য করা যায়।
Read more