std::pair এবং std::tuple এর ধারণা এবং ব্যবহার

Utility Libraries (ইউটিলিটি লাইব্রেরি) - সি++ স্ট্যান্ডার্ড লাইব্রেরি (C++ Standard Library) - Computer Programming

327

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: Alice

std::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.5

std::tuple এর সাথে ব্যবহৃত বৈশিষ্ট্যসমূহ

  • std::get(tuple): N সংখ্যক ইন্ডেক্সে থাকা মান বের করতে std::get ব্যবহার করা হয়। উদাহরণস্বরূপ, std::get<0>(student) প্রথম উপাদানটি প্রদান করবে।
  • std::tie: std::tie ব্যবহার করে tuple এর উপাদানগুলোকে আলাদা আলাদা ভেরিয়েবলে আনপ্যাক করা যায়।

std::pair এবং std::tuple এর তুলনা

বৈশিষ্ট্যstd::pairstd::tuple
উপাদানের সংখ্যাসর্বদা ২টি২ বা ততোধিক (যেকোনো সংখ্যা)
অ্যাক্সেস মেথডfirst, secondstd::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 ব্যবহার করে জটিল ডেটা গঠন সহজ করা যায় এবং কোড আরও পাঠযোগ্য করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...