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 ofMultipleValues
, assigns values to its members, and returns it. - In the
main
function, the returned structure is stored in a variableresult
, and its individual members are accessed and printed.
Using Tuples:
- The function
returnMultipleValues
usesstd::tuple
andmake_tuple
to create a tuple containing multiple values of different types. - In the
main
function, the returned tuple is stored in a variableresult
, andget
function is used to access and print individual values from the tuple based on their index.