Home Cryptocurency ExchangesTuples in C++ – GeeksforGeeks
Tuples in C++ – GeeksforGeeks

Tuples in C++ – GeeksforGeeks

What is a tuple?
A tuple is an object that can hold a number of elements. The elements can be of different data types. The elements of tuples are initialized as arguments in order in which they will be accessed.

Operations on tuple :-

1. get() :- get() is used to access the tuple values and modify them, it accepts the index and tuple name as arguments to access a particular tuple element.

2. make_tuple() :- make_tuple() is used to assign tuple with values. The values passed should be in order with the values declared in tuple.

#include

#include // for tuple

using namespace std;

int main()

{

    tuple geek;

    geek = make_tuple(‘a’, 10, 15.5);

    cout << "The initial values of tuple are : ";

    cout << get(geek) << "http://www.geeksforgeeks.org/" << get(geek);

    cout << "http://www.geeksforgeeks.org/" << get(geek) << endl;

    get(geek) = ‘b’;

    get(geek) =  20.5;

    cout << "The modified values of tuple are : ";

    cout << get(geek) << "http://www.geeksforgeeks.org/" << get(geek);

    cout << "http://www.geeksforgeeks.org/" << get(geek) << endl;

    return 0;

}

Output:

The initial values of tuple are : a 10 15.5
The modified values of tuple are : b 10 20.5

In the above code, get() modifies the 1st nd 3rd value of tuple.

3. tuple_size :- It returns the number of elements present in the tuple.

#include

#include // for tuple_size and tuple

using namespace std;

int main()

{

    tuple geek(20,’g’,17.5);

    cout << "The size of tuple is : ";

    cout << tuple_size::value << endl;

    return 0;

}

Output:

The size of tuple is : 3

4. swap() :- The swap(), swaps the elements of the two different tuples.

#include

#include // for swap() and tuple

using namespace std;

int main()

{

    tuple tup1(20,’g’,17.5);

    tuple tup2(10,’f’,15.5);

    cout << "The first tuple elements before swapping are : ";

    cout <<  get(tup1) << "http://www.geeksforgeeks.org/" << get(tup1) << "http://www.geeksforgeeks.org/"

         << get(tup1) << endl;

    cout << "The second tuple elements before swapping are : ";

    cout <<  get(tup2) << "http://www.geeksforgeeks.org/" << get(tup2) << "http://www.geeksforgeeks.org/" 

         << get(tup2) << endl;

    tup1.swap(tup2);

    cout << "The first tuple elements after swapping are : ";

    cout <<  get(tup1) << "http://www.geeksforgeeks.org/" << get(tup1) << "http://www.geeksforgeeks.org/" 

         << get(tup1) << endl;

    cout << "The second tuple elements after swapping are : ";

    cout <<  get(tup2) << "http://www.geeksforgeeks.org/" << get(tup2) << "http://www.geeksforgeeks.org/" 

         << get(tup2) << endl;

    return 0;

}

Output:

The first tuple elements before swapping are : 20 g 17.5
The second tuple elements before swapping are : 10 f 15.5
The first tuple elements after swapping are : 10 f 15.5
The second tuple elements after swapping are : 20 g 17.5

5. tie() :- The work of tie() is to unpack the tuple values into seperate variables. There are two variants of tie(), with and without “ignore” , the “ignore” ignores a particular tuple element and stops it from getting unpacked.

#include

#include // for tie() and tuple

using namespace std;

int main()

{   

    int i_val;

    char ch_val;

    float f_val;   

    tuple tup1(20,’g’,17.5);

    tie(i_val,ch_val,f_val) = tup1;

    cout << "The unpacked tuple values (without ignore) are : ";

    cout << i_val << "http://www.geeksforgeeks.org/" << ch_val << "http://www.geeksforgeeks.org/" << f_val;

    cout << endl;

    tie(i_val,ignore,f_val) = tup1;

    cout << "The unpacked tuple values (with ignore) are : ";

    cout << i_val  << "http://www.geeksforgeeks.org/" << f_val;

    cout << endl;

    return 0;

}

Output:

The unpacked tuple values (without ignore) are : 20 g 17.5
The unpacked tuple values (with ignore) are : 20 17.5

6. tuple_cat() :- This function concatenates two tuples and returns a new tuple.

#include

#include // for tuple_cat() and tuple

using namespace std;

int main()

{

    tuple tup1(20,’g’,17.5);

    tuple tup2(30,’f’,10.5);

    auto tup3 = tuple_cat(tup1,tup2);

    cout << "The new tuple elements in order are : ";

    cout << get(tup3) << "http://www.geeksforgeeks.org/" << get(tup3) << "http://www.geeksforgeeks.org/";

    cout << get(tup3) << "http://www.geeksforgeeks.org/" << get(tup3) << "http://www.geeksforgeeks.org/";

    cout << get(tup3) << "http://www.geeksforgeeks.org/" << get(tup3) << endl;

    return 0;

}

Output:

The new tuple elements in order are : 20 g 17.5 30 f 10.5

This article is contributed by Manjeet Singh .If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Source

Leave a Reply

Your email address will not be published. Required fields are marked *

Human Verification: In order to verify that you are a human and not a spam bot, please enter the answer into the following box below based on the instructions contained in the graphic.