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

C++-এ টাপল (tuple) ও পেয়ার (pair) ব্যবহার করে ফাংশন থেকে একাধিক ভ্যালু রিটার্ন করা

C/C++-এ ফাংশন থেকে সরাসরি একাধিক ভ্যালু রিটার্ন করা যায় না। STL-র std::pair (২ ভ্যালু) এবং std::tuple (অনেক ভ্যালু) ব্যবহার করে এই সমস্যা সমাধান করা যায়।

std::tuple - একাধিক টাইপের ভ্যালু ধারণ করে

std::pair - দুটি ভ্যালু ধারণ করে (tuple-এর স্পেশাল কেস)

উদাহরণ কোড

#include <iostream>
#include <tuple>
#include <utility>
#include <string>
using namespace std;

tuple<int, string, char> func_tuple(int x, string y) {
    return make_tuple(x, y, 'A');
}

pair<int, string> func_pair(int x, string y) {
    return make_pair(x, y);
}

int main() {
    int a; string b; char c;
    tie(a, b, c) = func_tuple(48, "Hello"); // structured binding (C++17): auto [a,b,c] = ...
    auto my_pair = func_pair(89, "World");

    cout << "Tuple: (" << a << ", " << b << ", " << c << ")" << endl;
    cout << "Pair: (" << my_pair.first << ", " << my_pair.second << ")" << endl;
    return 0;
}

আউটপুট

Tuple: (48, Hello, A)
Pair: (89, World)

C++17 Structured Binding (আধুনিক সিনট্যাক্স)

auto [a, b, c] = func_tuple(48, "Hello");
auto [x, y] = func_pair(89, "World");

নোট: আর্টিকেলের শেষে nullptr সম্পর্কিত অপ্রাসঙ্গিক কোড রয়েছে, যা উপেক্ষা করা উচিত।

  1. অ্যারে থেকে ২, ৩, ৫ দ্বারা বিভাজ্য সর্বোচ্চ সংখ্যা বের করা (C++)

  2. C++-এ ইনবিল্ট সর্ট ফাংশন দিয়ে ধনাত্মক ও ঋণাত্মক সংখ্যা রি-অ্যারেঞ্জ করুন

  3. মডুলো অপারেটর ছাড়া ৩ ও ৫-এর গুণিতক বের করা - সি++

  4. OpenCV-এ C++ ব্যবহার করে ইমেজ লোড ও প্রদর্শন করা