return multiple values c++

Certainly! In C++, multiple values can be returned using various methods such as using arrays, structures, or tuples. Here are examples using structures and tuples:

Using Structures:

#include <iostream>
using namespace std;

struct MultipleValues {
    int value1;
    float value2;
    char value3;
};

MultipleValues returnMultipleValues() {
    MultipleValues values;
    values.value1 = 10;
    values.value2 = 3.14f;
    values.value3 = 'A';
    return values;
}

int main() {
    MultipleValues result = returnMultipleValues();
    cout << "Value 1: " << result.value1 << endl;
    cout << "Value 2: " << result.value2 << endl;
    cout << "Value 3: " << result.value3 << endl;
    return 0;
}

Using Tuples:

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

tuple<int, float, char> returnMultipleValues() {
    return make_tuple(10, 3.14f, 'A');
}

int main() {
    tuple<int, float, char> result = returnMultipleValues();
    cout << "Value 1: " << get<0>(result) << endl;
    cout << "Value 2: " << get<1>(result) << endl;
    cout << "Value 3: " << get<2>(result) << endl;
    return 0;
}

Explanation:

Using Structures:

  • A structure MultipleValues is defined to hold multiple values of different data types.
  • The function returnMultipleValues creates an instance of MultipleValues, assigns values to its members, and returns it.
  • In the main function, the returned structure is stored in a variable result, and its individual members are accessed and printed.

Using Tuples:

  • The function returnMultipleValues uses std::tuple and make_tuple to create a tuple containing multiple values of different types.
  • In the main function, the returned tuple is stored in a variable result, and get function is used to access and print individual values from the tuple based on their index.